Class: Kernel::Hash

Inherits:
Object
  • Object
show all
Defined in:
lib/meld/hash/deep_merge.rb

Overview

Instance Method Summary collapse

Instance Method Details

#deep_merge(second) ⇒ Object



12
13
14
# File 'lib/meld/hash/deep_merge.rb', line 12

def deep_merge(second)
  dup.deep_merge! second
end

#deep_merge!(second) ⇒ Object



5
6
7
8
9
10
# File 'lib/meld/hash/deep_merge.rb', line 5

def deep_merge!(second)
  merger = proc do |_, v1, v2|
    [v1, v2].all? { |x| x.is_a? Hash } ? v1.merge(v2, &merger) : v2
  end
  merge!(second, &merger)
end