Method: Hash#dig

Defined in:
lib/backports/2.3.0/hash/dig.rb

#dig(key, *rest) ⇒ Object

Raises:

  • (TypeError)


3
4
5
6
7
8
# File 'lib/backports/2.3.0/hash/dig.rb', line 3

def dig(key, *rest)
  val = self[key]
  return val if rest.empty? || val == nil
  raise TypeError, "#{val.class} does not have #dig method" unless val.respond_to? :dig
  val.dig(*rest)
end