method
dig
v2_5_5 -
Show latest stable
- Class:
OpenStruct
dig(name, *names)public
Extracts the nested value specified by the sequence of name objects by calling dig at each step, returning nil if any intermediate step is nil.
require "ostruct" address = OpenStruct.new("city" => "Anytown NC", "zip" => 12345) person = OpenStruct.new("name" => "John Smith", "address" => address) person.dig(:address, "zip") # => 12345 person.dig(:business_address, "zip") # => nil data = OpenStruct.new(:array => [1, [2, 3]]) data.dig(:array, 1, 0) # => 2 data.dig(:array, 0, 0) # TypeError: Integer does not have #dig method