blob: 3fb83abba3edf5007d92769ca57ea380c454e07a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
|
class Hash
def merge!(other, &block)
raise "can't convert argument into Hash" unless other.respond_to?(:to_hash)
if block
other.each_key{|k|
self[k] = (self.has_key?(k))? block.call(k, self[k], other[k]): other[k]
}
else
other.each_key{|k| self[k] = other[k]}
end
self
end
end
|