Class: 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



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

def deep_merge(second)
  dup.deep_merge! second
end

#deep_merge!(second) ⇒ Object



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

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