diff options
author | Lamont Granquist <lamont@scriptkiddie.org> | 2014-11-06 16:57:35 -0800 |
---|---|---|
committer | Lamont Granquist <lamont@scriptkiddie.org> | 2014-11-08 11:30:22 -0800 |
commit | 7f6c960bce5950de2619a89166411632e77a9eae (patch) | |
tree | e24ed65e4cfd7a7bf1fb00d3306664734b8f8e4f /lib/chef/node/attribute.rb | |
parent | 58b343284a4f5c9e4ea7fa81cd115fef6be8f2cb (diff) | |
download | chef-7f6c960bce5950de2619a89166411632e77a9eae.tar.gz |
fix autovivification
Diffstat (limited to 'lib/chef/node/attribute.rb')
-rw-r--r-- | lib/chef/node/attribute.rb | 31 |
1 files changed, 18 insertions, 13 deletions
diff --git a/lib/chef/node/attribute.rb b/lib/chef/node/attribute.rb index 6ff20dc67f..3eb6449046 100644 --- a/lib/chef/node/attribute.rb +++ b/lib/chef/node/attribute.rb @@ -336,7 +336,7 @@ class Chef # equivalent to: force_default!['foo']['bar'].delete('baz') def rm_default(*args) reset - remove_from_precedence_level(force_default!, *args) + remove_from_precedence_level(force_default!(autovivify: false), *args) end # clears attributes from normal precedence @@ -344,7 +344,7 @@ class Chef # equivalent to: normal!['foo']['bar'].delete('baz') def rm_normal(*args) reset - remove_from_precedence_level(normal!, *args) + remove_from_precedence_level(normal!(autovivify: false), *args) end # clears attributes from all override precedence levels @@ -352,7 +352,7 @@ class Chef # equivalent to: force_override!['foo']['bar'].delete('baz') def rm_override(*args) reset - remove_from_precedence_level(force_override!, *args) + remove_from_precedence_level(force_override!(autovivify: false), *args) end # @@ -360,28 +360,33 @@ class Chef # # sets default attributes without merging - def default! - MultiMash.new(@default) + def default!(opts={}) + reset + MultiMash.new(self, @default, [], opts) end # sets normal attributes without merging - def normal! - MultiMash.new(@normal) + def normal!(opts={}) + reset + MultiMash.new(self, @normal, [], opts) end # sets override attributes without merging - def override! - MultiMash.new(@override) + def override!(opts={}) + reset + MultiMash.new(self, @override, [], opts) end # clears from all default precedence levels and then sets force_default - def force_default! - MultiMash.new(@default, @env_default, @role_default, @force_default) + def force_default!(opts={}) + reset + MultiMash.new(self, @force_default, [@default, @env_default, @role_default], opts) end # clears from all override precedence levels and then sets force_override - def force_override! - MultiMash.new(@override, @env_override, @role_override, @force_override) + def force_override!(opts={}) + reset + MultiMash.new(self, @force_override, [@override, @env_override, @role_override], opts) end # |