class Rouge::InheritableHash
def [](k)
def [](k) _sup = super return _sup if own_keys.include?(k) _sup || parent[k] end
def each(&b)
def each(&b) keys.each do |k| b.call(k, self[k]) end end
def include?(k)
def include?(k) super or parent.include?(k) end
def initialize(parent=nil)
def initialize(parent=nil) @parent = parent end
def keys
def keys keys = own_keys.concat(parent.keys) keys.uniq! keys end
def parent
def parent @parent ||= {} end