1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00
rails--rails/activesupport/lib/active_support/ordered_options.rb
2010-03-03 15:49:52 -08:00

27 lines
501 B
Ruby

require 'active_support/ordered_hash'
module ActiveSupport #:nodoc:
class OrderedOptions < OrderedHash
def []=(key, value)
super(key.to_sym, value)
end
def [](key)
super(key.to_sym)
end
def method_missing(name, *args)
if name.to_s =~ /(.*)=$/
self[$1.to_sym] = args.first
else
self[name]
end
end
end
class InheritableOptions < OrderedOptions
def initialize(parent)
super() { |h,k| parent[k] }
end
end
end