diff options
author | Jay Mundrawala <jdmundrawala@gmail.com> | 2015-03-14 15:44:08 -0700 |
---|---|---|
committer | Jay Mundrawala <jdmundrawala@gmail.com> | 2015-03-20 14:38:05 -0700 |
commit | 31c218ce09ead9036c033b868571a4d4dd75b110 (patch) | |
tree | 129c4705a5d7b037071e90ed543fe8ecf3725f3b /lib/chef/provider/dsc_resource.rb | |
parent | 34b0725c7328aad2d0542fc95bb12e352101ae94 (diff) | |
download | chef-31c218ce09ead9036c033b868571a4d4dd75b110.tar.gz |
ResourceStore does not deal with exceptions
Also, added a more specific exception for when we cannot
find the resource
Diffstat (limited to 'lib/chef/provider/dsc_resource.rb')
-rw-r--r-- | lib/chef/provider/dsc_resource.rb | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/lib/chef/provider/dsc_resource.rb b/lib/chef/provider/dsc_resource.rb index 1e20030229..bd72131e67 100644 --- a/lib/chef/provider/dsc_resource.rb +++ b/lib/chef/provider/dsc_resource.rb @@ -94,12 +94,20 @@ class Chef def module_name @module_name ||= begin - r = resource_store.resource(@new_resource.resource.to_s) - if r['Module'] - r['Module']['Name'] - else - :none - end + found = resource_store.find(new_resource.resource.to_s) + + r = case found.length + when 0 + nil + when 1 + if found[0]['Module'].nil? + :none + else + found[0]['Module'] + end + else + raise Chef::Exceptions::MultipleDscResourcesFound, found + end end end |