summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/chef/node/attribute.rb11
1 files changed, 10 insertions, 1 deletions
diff --git a/lib/chef/node/attribute.rb b/lib/chef/node/attribute.rb
index 1d564a57e4..cccb16cbf9 100644
--- a/lib/chef/node/attribute.rb
+++ b/lib/chef/node/attribute.rb
@@ -474,8 +474,17 @@ class Chef
merge_overrides(path),
apply_path(@automatic, path)
]
+
+ components.map! do |c|
+ begin
+ c.dup
+ rescue TypeError
+ c
+ end
+ end
+
components.inject(nil) do |merged, component|
- Chef::Mixin::DeepMerge.hash_only_merge(merged, component)
+ Chef::Mixin::DeepMerge.hash_only_merge!(merged, component)
end
end