Class: Rails::OrderedOptions

Inherits:
Array
  • Object
show all
Defined in:
lib/initializer.rb

Overview

Needs to be duplicated from Active Support since its needed before Active Support is available. Here both Options and Hash are namespaced to prevent conflicts with other implementations AND with the classes residing in Active Support.

Instance Method Summary collapse

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(name, *args) ⇒ Object



1114
1115
1116
1117
1118
1119
1120
# File 'lib/initializer.rb', line 1114

def method_missing(name, *args)
  if name.to_s =~ /(.*)=$/
    self[$1.to_sym] = args.first
  else
    self[name]
  end
end

Instance Method Details

#[](key) ⇒ Object



1109
1110
1111
1112
# File 'lib/initializer.rb', line 1109

def [](key)
  pair = find_pair(key.to_sym)
  pair ? pair.last : nil
end

#[]=(key, value) ⇒ Object

:nodoc:



1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
# File 'lib/initializer.rb', line 1098

def []=(key, value)
  key = key.to_sym

  if pair = find_pair(key)
    pair.pop
    pair << value
  else
    self << [key, value]
  end
end