Immutable hash class which supports hash merging @api public
# File lib/temple/hash.rb, line 7 def initialize(*hash) @hash = hash.compact end
# File lib/temple/hash.rb, line 15 def [](key) @hash.each {|h| return h[key] if h.include?(key) } nil end
# File lib/temple/hash.rb, line 20 def each keys.each {|k| yield(k, self[k]) } end
# File lib/temple/hash.rb, line 11 def include?(key) @hash.any? {|h| h.include?(key) } end
# File lib/temple/hash.rb, line 24 def keys @hash.inject([]) {|keys, h| keys += h.keys }.uniq end
# File lib/temple/hash.rb, line 32 def to_hash result = {} each {|k, v| result[k] = v } result end
# File lib/temple/hash.rb, line 28 def values keys.map {|k| self[k] } end