summaryrefslogtreecommitdiff
path: root/lib/chef/provider/dsc_resource.rb
diff options
context:
space:
mode:
authorJay Mundrawala <jdmundrawala@gmail.com>2015-03-14 15:44:08 -0700
committerJay Mundrawala <jdmundrawala@gmail.com>2015-03-20 14:38:05 -0700
commit31c218ce09ead9036c033b868571a4d4dd75b110 (patch)
tree129c4705a5d7b037071e90ed543fe8ecf3725f3b /lib/chef/provider/dsc_resource.rb
parent34b0725c7328aad2d0542fc95bb12e352101ae94 (diff)
downloadchef-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.rb20
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