Module: Dotize

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

Constant Summary collapse

VERSION =
"0.1.0"

Instance Method Summary collapse

Instance Method Details

#dot(selector, &default_block) ⇒ Object



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

def dot(selector, &default_block)
  current_value = self

  begin
    keys_from_selector(selector).each do |key|
      raise StopIteration unless current_value.respond_to? :fetch
      current_value = current_value.fetch(key) { raise StopIteration }
    end
  rescue StopIteration
    return calc_default_value(default_block)
  end

  current_value
end