Module: RubyDig2
Constant Summary collapse
- VERSION =
'0.0.1'
Instance Method Summary collapse
Instance Method Details
#dig2(key, *rest) ⇒ Object
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/ruby_dig2.rb', line 2 def dig2(key, *rest) value = if key.is_a?(Hash) detect do |e| key.all? { |k, v| e[k] == v } end else self[key] end if value.nil? || rest.empty? value elsif value.respond_to?(:dig2) value.dig2(*rest) else fail TypeError, "#{value.class} does not have #dig2 method" end end |