Class: Hash

Inherits:
Object
  • Object
show all
Defined in:
lib/maybe_chain.rb

Instance Method Summary collapse

Instance Method Details

#maybe_chain(args = []) ⇒ Object



2
3
4
5
6
7
8
9
10
11
12
# File 'lib/maybe_chain.rb', line 2

def maybe_chain(args = [])
  return nil unless self
  
  r = self
  args.each_with_index do |a, _i|
    return nil if r[a].nil? || (r.class != Hash && r.class != Array)
  
    r = a.instance_of?(Range) ? a.map { |i| r[i] } : r[a]
  end
  r
end