class Temple::ImmutableMap
Immutable map class which supports map merging @api public
Public Class Methods
new(*map)
click to toggle source
# File lib/temple/map.rb, line 8 def initialize(*map) @map = map.compact end
Public Instance Methods
[](key)
click to toggle source
# File lib/temple/map.rb, line 16 def [](key) @map.each {|h| return h[key] if h.include?(key) } nil end
each() { |k, self| ... }
click to toggle source
# File lib/temple/map.rb, line 21 def each keys.each {|k| yield(k, self[k]) } end
include?(key)
click to toggle source
# File lib/temple/map.rb, line 12 def include?(key) @map.any? {|h| h.include?(key) } end
keys()
click to toggle source
# File lib/temple/map.rb, line 25 def keys @map.inject([]) {|keys, h| keys.concat(h.keys) }.uniq end
to_hash()
click to toggle source
# File lib/temple/map.rb, line 33 def to_hash result = {} each {|k, v| result[k] = v } result end
values()
click to toggle source
# File lib/temple/map.rb, line 29 def values keys.map {|k| self[k] } end