module Lab42::NHash::Hierarchy

Public Instance Methods

add_hierarchies(*some_hierarchies) click to toggle source
# File lib/lab42/nhash/hierarchies.rb, line 10
def add_hierarchies *some_hierarchies
  some_hierarchies.each do | a_hierarchy |
    add_hierarchy a_hierarchy
  end
  self
end
add_hierarchy(a_hierarchy={}) click to toggle source
# File lib/lab42/nhash/hierarchies.rb, line 4
def add_hierarchy a_hierarchy={}
  a_hierarchy = self.class.new a_hierarchy if Hash === a_hierarchy
  raise ArgumentError, 'not an NHash instance' unless self.class === a_hierarchy
  @hierarchies << a_hierarchy
  self
end
get_from_hierarchies(keyexpr, keyexc) click to toggle source
# File lib/lab42/nhash/hierarchies.rb, line 17
def get_from_hierarchies keyexpr, keyexc
  @hierarchies.each do | h |
    begin
      return h.get keyexpr
    rescue KeyError
    end
  end
  raise KeyError, keyexc
end