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



1138
1139
1140
1141
1142
1143
1144
# File 'lib/initializer.rb', line 1138

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



1133
1134
1135
1136
# File 'lib/initializer.rb', line 1133

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

#[]=(key, value) ⇒ Object

:nodoc:



1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
# File 'lib/initializer.rb', line 1122

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

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