diff options
-rw-r--r-- | lib/chef/resource/registry_key.rb | 7 | ||||
-rw-r--r-- | spec/unit/resource/registry_key_spec.rb | 4 |
2 files changed, 9 insertions, 2 deletions
diff --git a/lib/chef/resource/registry_key.rb b/lib/chef/resource/registry_key.rb index 36a6db1100..30233ddc8b 100644 --- a/lib/chef/resource/registry_key.rb +++ b/lib/chef/resource/registry_key.rb @@ -74,9 +74,12 @@ class Chef def values(arg = nil) if not arg.nil? if arg.is_a?(Hash) - @values = [ arg ] + @values = [ Mash.new(arg).symbolize_keys ] elsif arg.is_a?(Array) - @values = arg + @values = [] + arg.each do |value| + @values << Mash.new(value).symbolize_keys + end else raise ArgumentError, "Bad type for RegistryKey resource, use Hash or Array" end diff --git a/spec/unit/resource/registry_key_spec.rb b/spec/unit/resource/registry_key_spec.rb index 147bc8492c..47d624a758 100644 --- a/spec/unit/resource/registry_key_spec.rb +++ b/spec/unit/resource/registry_key_spec.rb @@ -133,6 +133,10 @@ describe Chef::Resource::RegistryKey, "values" do expect { resource.values([ { name: "123", type: :string, data: "carmen" } ]) }.to_not raise_error end end + + it "does not raise an exception if keys are in string format" do + expect { resource.values([ { "name" => "123", "type" => :string, "data" => "carmen" } ]) }.to_not raise_error + end end describe Chef::Resource::RegistryKey, "recursive" do |