Taken from stackoverflow.com/a/25990044
7 8 9 10 11 12 13 14
# File 'lib/berktacular/berksfile.rb', line 7 def deep_merge(second) merger = proc { |key, v1, v2| Hash === v1 && Hash === v2 ? v1.merge(v2, &merger) : [:undefined, nil, :nil].include?(v2) ? v1 : v2 } self.merge(second, &merger) end