Class: Hash

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

Instance Method Summary collapse

Instance Method Details

#deep_fetch(key, default = nil) ⇒ Object



26
27
28
29
# File 'lib/ups_pickup/util.rb', line 26

def deep_fetch(key, default = nil)
  default = yield if block_given?
  (deep_find(key) or default) or nil
end

#deep_find(key) ⇒ Object



31
32
33
34
35
36
37
38
39
40
# File 'lib/ups_pickup/util.rb', line 31

def deep_find(key)
  if key?(key)
    self[key]
  else  
    self.values.inject(nil) do |memo, v|             
      memo = v.deep_find(key) if v.respond_to?(:deep_find)       
      memo unless memo.nil?  
    end 
  end     
end