class Hashie::Mash
def deep_update(other_hash, &blk)
Recursively merges this mash with the passed
def deep_update(other_hash, &blk) other_hash.each_pair do |k,v| key = convert_key(k) if regular_reader(key).is_a?(Mash) and v.is_a?(::Hash) regular_reader(key).deep_update(v, &blk) else value = convert_value(v, true) value = blk.call(key, self[k], value) if blk regular_writer(key, value) end end self end