Module: DeepMerge::DeepMergeHash

Defined in:
lib/deepmerge.rb

Overview

inject this method into the Hash class to add deep merge functionality to Hashes

Instance Method Summary collapse

Instance Method Details

#deep_merge(other) ⇒ Object



23
24
25
26
27
28
29
30
31
# File 'lib/deepmerge.rb', line 23

def deep_merge(other)
  merge(other) do |key, oldval, newval|
    if oldval.respond_to? :deep_merge
      oldval.deep_merge(newval)
    else
      newval
    end
  end
end

#deep_merge!(other) ⇒ Object



33
34
35
36
37
38
39
40
41
# File 'lib/deepmerge.rb', line 33

def deep_merge!(other)
  merge!(other) do |key, oldval, newval|
    if oldval.respond_to? :deep_merge!
      oldval.deep_merge!(newval)
    else
      newval
    end
  end
end