Module: CaseInsensitiveHash
- Defined in:
- lib/rbbt/util/misc/indiferent_hash.rb
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.setup(hash) ⇒ Object
69 70 71 |
# File 'lib/rbbt/util/misc/indiferent_hash.rb', line 69 def self.setup(hash) hash.extend CaseInsensitiveHash end |
Instance Method Details
#[](key, *rest) ⇒ Object
83 84 85 86 87 88 |
# File 'lib/rbbt/util/misc/indiferent_hash.rb', line 83 def [](key, *rest) value = super(key, *rest) return value unless value.nil? key_downcase = key.to_s.downcase super(downcase_keys[key_downcase]) end |
#downcase_keys ⇒ Object
73 74 75 76 77 78 79 80 81 |
# File 'lib/rbbt/util/misc/indiferent_hash.rb', line 73 def downcase_keys @downcase_keys ||= begin down = {} keys.collect{|key| down[key.to_s.downcase] = key } down end end |
#values_at(*keys) ⇒ Object
90 91 92 93 94 |
# File 'lib/rbbt/util/misc/indiferent_hash.rb', line 90 def values_at(*keys) keys.collect do |key| self[key] end end |