Method: Hash#deep_merge
- Defined in:
- lib/core/facets/hash/deep_merge.rb
#deep_merge(other) ⇒ Object
Same as Hash#merge but recursively merges sub-hashes.
5 6 7 8 9 10 11 12 13 14 15 16 |
# File 'lib/core/facets/hash/deep_merge.rb', line 5 def deep_merge(other) hash = self.dup other.each do |key, value| myval = self[key] if value.is_a?(Hash) && myval.is_a?(Hash) hash[key] = myval.deep_merge(value) else hash[key] = value end end hash end |