Sha256: ea5e8531c3a0f20f2274355079e0647a5f03d8ee1e11143bd77cfc1e56a6942f
Contents?: true
Size: 628 Bytes
Versions: 29
Compression:
Stored size: 628 Bytes
Contents
module CaseInsensitiveHash def self.setup(hash) hash.extend CaseInsensitiveHash end def downcase_keys @downcase_keys ||= begin down = {} keys.collect{|key| down[key.to_s.downcase] = key } down end end def [](key, *rest) value = super(key, *rest) return value unless value.nil? key_downcase = key.to_s.downcase super(downcase_keys[key_downcase]) end def values_at(*keys) keys.collect do |key| self[key] end end end
Version data entries
29 entries across 29 versions & 2 rubygems