class Object

Public Instance Methods

dig(*keys) click to toggle source

dig for values in Array/Hash

Example:

g = { foo: [10, 11, 12] }
g.dig(:foo, 1)              #=> 11

Arguments:

*keys: (Accessor List)
# File lib/dig.rb, line 14
def dig(*keys)
  elem = self[keys.shift]
  return elem if keys.empty? || elem.nil?
  return elem.dig(*keys) if elem.respond_to?(:dig)
  raise TypeError, "#{elem.class} does not have a #dig method"
end