Method: Hash#value_at_chain

Defined in:
lib/hash_extension.rb

#value_at_chain(chain) ⇒ Object



2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# File 'lib/hash_extension.rb', line 2

def value_at_chain(chain)
  current = self
  chain.each do |key|
    if current.is_a? Hash and current.has_key? key
      current = current[key]
      if current.is_a? Array
        current = current.last
      end
    else
      current = nil
      break
    end
  end
  return current
end