Sha256: 1153b8b2d0bb5792f2d994b0810938075d57a12fda8f0e6d772907863e189da8

Contents?: true

Size: 278 Bytes

Versions: 4

Compression:

Stored size: 278 Bytes

Contents

module Iso639
  class InsensitiveHash < Hash # :nodoc:
    def [](key)
      super normalize(key)
    end

    def []=(key, value)
      super normalize(key), value
    end

    private

    def normalize(key)
      key.to_s.downcase.strip.split(/[-_]/).first
    end
  end
end

Version data entries

4 entries across 4 versions & 2 rubygems

Version Path
iso639-1.3.3 lib/iso639/insensitive_hash.rb
metanorma-cli-1.3.4 gems/ruby/2.6.0/gems/iso639-1.3.2/lib/iso639/insensitive_hash.rb
metanorma-cli-1.3.3.1 gems/ruby/2.6.0/gems/iso639-1.3.2/lib/iso639/insensitive_hash.rb
iso639-1.3.2 lib/iso639/insensitive_hash.rb