Module: FetchIn

Defined in:
lib/fetch_in.rb,
lib/fetch_in/version.rb

Constant Summary collapse

VERSION =
"0.2.0"

Class Method Summary collapse

Class Method Details

.fetch_in(collection, first_key, *rest) ⇒ Object



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

def self.fetch_in(collection, first_key, *rest)
  keys = [first_key] + rest
  last_key = nil
  keys.reduce(collection) do |c, k|
    last_key = k
    c.fetch(k)
  end
rescue IndexError
  raise unless block_given?
  yield last_key
end