Sha256: de076e384a3763a19461c9570b39e5c9f94e3b43de022046b77c19cb1f405a0e

Contents?: true

Size: 287 Bytes

Versions: 76

Compression:

Stored size: 287 Bytes

Contents

# require "eitil_core/hash/auto_dig"

class Hash

    def auto_dig(_hash = self, _key)
    return _hash[_key] if _hash.fetch(_key, false)

    _hash.keys.each do |k|
      answer = auto_dig(_hash[k], _key) if _hash[k].is_a? Hash
      return answer if answer
    end

    nil
  end

end

Version data entries

76 entries across 76 versions & 1 rubygems

Version Path
eitil-2.0.8 eitil_core/lib/eitil_core/hash/auto_dig.rb
eitil-2.0.7 eitil_core/lib/eitil_core/hash/auto_dig.rb
eitil-2.0.6 eitil_core/lib/eitil_core/hash/auto_dig.rb
eitil-2.0.5 eitil_core/lib/eitil_core/hash/auto_dig.rb
eitil-2.0.4 eitil_core/lib/eitil_core/hash/auto_dig.rb
eitil-2.0.3 eitil_core/lib/eitil_core/hash/auto_dig.rb
eitil-2.0.2 eitil_core/lib/eitil_core/hash/auto_dig.rb
eitil-2.0.1 eitil_core/lib/eitil_core/hash/auto_dig.rb
eitil-2.0.0 eitil_core/lib/eitil_core/hash/auto_dig.rb
eitil-1.4.1 eitil_core/lib/eitil_core/hash/auto_dig.rb
eitil-1.4.0 eitil_core/lib/eitil_core/hash/auto_dig.rb
eitil-1.3.12 eitil_core/lib/eitil_core/hash/auto_dig.rb
eitil-1.3.11 eitil_core/lib/eitil_core/hash/auto_dig.rb
eitil-1.3.10 eitil_core/lib/eitil_core/hash/auto_dig.rb
eitil-1.3.9 eitil_core/lib/eitil_core/hash/auto_dig.rb
eitil-1.3.8 eitil_core/lib/eitil_core/hash/auto_dig.rb
eitil-1.3.7 eitil_core/lib/eitil_core/hash/auto_dig.rb
eitil-1.3.6 eitil_core/lib/eitil_core/hash/auto_dig.rb
eitil-1.3.5 eitil_core/lib/eitil_core/hash/auto_dig.rb
eitil-1.3.4 eitil_core/lib/eitil_core/hash/auto_dig.rb