diff options
Diffstat (limited to 'lib/chef/mixin/deep_merge.rb')
-rw-r--r-- | lib/chef/mixin/deep_merge.rb | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/lib/chef/mixin/deep_merge.rb b/lib/chef/mixin/deep_merge.rb index 5e3327a526..a8a4737758 100644 --- a/lib/chef/mixin/deep_merge.rb +++ b/lib/chef/mixin/deep_merge.rb @@ -29,6 +29,7 @@ class Chef class InvalidSubtractiveMerge < ArgumentError; end + OLD_KNOCKOUT_PREFIX = "!merge:".freeze # Regex to match the "knockout prefix" that was used to indicate @@ -85,12 +86,8 @@ class Chef when Hash if dest.kind_of?(Hash) source.each do |src_key, src_value| - if dest.has_key? src_key - if dest[src_key].nil? - dest[src_key] = nil - else - dest[src_key] = deep_merge!(src_value, dest[src_key]) - end + if dest[src_key] + dest[src_key] = deep_merge!(src_value, dest[src_key]) else # dest[src_key] doesn't exist so we take whatever source has raise_if_knockout_used!(src_value) dest[src_key] = src_value |