Method: Doing::Util#deep_merge_hashes!

Defined in:
lib/doing/util.rb

#deep_merge_hashes!(target, overwrite) ⇒ Hash

Merges a master hash with another hash, recursively.

This code was lovingly stolen from some random gem: http://gemjack.com/gems/tartan-0.1.1/classes/Hash.html

Thanks to whoever made it.

Parameters:

  • target (Hash)

    the "parent" hash whose values will be overridden

  • overwrite (Hash)

    the other hash whose values will be persisted after the merge

Returns:

  • (Hash)

    merged hashes



77
78
79
80
81
82
83
# File 'lib/doing/util.rb', line 77

def deep_merge_hashes!(target, overwrite)
  merge_values(target, overwrite)
  merge_default_proc(target, overwrite)
  duplicate_frozen_values(target)

  target
end