Sha256: d81dbae50eba0e3288208944c764aa9b21cdd450c27616da6e1c854a77b58da8
Contents?: true
Size: 921 Bytes
Versions: 1
Compression:
Stored size: 921 Bytes
Contents
# OrderedHash is namespaced to prevent conflicts with other implementations module ActiveSupport class OrderedHash < Array #:nodoc: def []=(key, value) if pair = find_pair(key) pair.pop pair << value else self << [key, value] end end def [](key) pair = find_pair(key) pair ? pair.last : nil end def keys collect { |key, value| key } end def values collect { |key, value| value } end private def find_pair(key) self.each { |i| return i if i.first == key } return false end end end class OrderedOptions < ActiveSupport::OrderedHash #:nodoc: 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
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
monetra-ruby-0.0.6 | lib/monetra/active_support/ordered_options.rb |