module FetchIn

Constants

VERSION

Public Class Methods

fetch_in(collection, first_key, *rest) { |last_key| ... } click to toggle source
# 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