[](k)
click to toggle source
def [](k)
super(k) || super(@names[k.downcase])
end
[]=(k, v)
click to toggle source
def []=(k, v)
canonical = k.downcase
delete k if @names[canonical] && @names[canonical] != k
@names[k] = @names[canonical] = k
super k, v
end
delete(k)
click to toggle source
def delete(k)
canonical = k.downcase
result = super @names.delete(canonical)
@names.delete_if { |name,| name.downcase == canonical }
result
end
each()
click to toggle source
def each
super do |k, v|
yield(k, v.respond_to?(:to_ary) ? v.to_ary.join("\n") : v)
end
end
has_key?(k)
click to toggle source
include?(k)
click to toggle source
def include?(k)
@names.include?(k) || @names.include?(k.downcase)
end
key?(k)
click to toggle source
member?(k)
click to toggle source
merge(other)
click to toggle source
def merge(other)
hash = dup
hash.merge! other
end
merge!(other)
click to toggle source
def merge!(other)
other.each { |k, v| self[k] = v }
self
end
replace(other)
click to toggle source
def replace(other)
clear
other.each { |k, v| self[k] = v }
self
end
to_hash()
click to toggle source
def to_hash
hash = {}
each { |k,v| hash[k] = v }
hash
end