class OrderedHash
def merge!(other_hash)
def merge!(other_hash) if block_given? other_hash.each {|k, v| self[k] = key?(k) ? yield(k, self[k], v) : v} else other_hash.each {|k, v| self[k] = v} end self end
def merge!(other_hash) if block_given? other_hash.each {|k, v| self[k] = key?(k) ? yield(k, self[k], v) : v} else other_hash.each {|k, v| self[k] = v} end self end