class Hash
From gist.github.com/ku/e17e3d65ec4c37b60149 From stackoverflow.com/questions/9381553/ruby-merge-nested-hash
Public Instance Methods
deep_merge(second)
click to toggle source
# File lib/meld/hash/deep_merge.rb, line 13 def deep_merge(second) dup.deep_merge! second end
deep_merge!(second)
click to toggle source
# File lib/meld/hash/deep_merge.rb, line 4 def deep_merge!(second) merger = proc do |_, v1, v2| next v1.merge(v2, &merger) if [v1, v2].all? { |x| x.is_a? Hash } next v1 + v2 if [v1, v2].all? { |x| x.is_a? Array } v2 end merge!(second, &merger) end