summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLamont Granquist <lamont@scriptkiddie.org>2020-03-05 13:32:05 -0800
committerLamont Granquist <lamont@scriptkiddie.org>2020-03-05 15:34:15 -0800
commitfe71cbcdf09618307b594a28431dc6fa1a6c08d0 (patch)
tree02af95382de10c09ff6a9e143af2a35a4a347491
parent17964bbbf5f268cf102ec9ed39ea14c55af0477d (diff)
downloadchef-fe71cbcdf09618307b594a28431dc6fa1a6c08d0.tar.gz
add back magical wiring up from resource_name to provides
22% of resources on the supermarket only declare resource_name and never call provides, which is consistent with our documentation. Signed-off-by: Lamont Granquist <lamont@scriptkiddie.org>
-rw-r--r--lib/chef/resource.rb8
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/chef/resource.rb b/lib/chef/resource.rb
index a8e3085261..069d149c32 100644
--- a/lib/chef/resource.rb
+++ b/lib/chef/resource.rb
@@ -952,6 +952,11 @@ class Chef
if name != NOT_PASSED
if name
@resource_name = name.to_sym
+ name = name.to_sym
+ # FIXME: determine a way to deprecate this magic behavior
+ unless Chef::ResourceResolver.includes_handler?(name, self)
+ provides name
+ end
else
@resource_name = nil
end
@@ -1338,7 +1343,8 @@ class Chef
def self.provides(name, **options, &block)
name = name.to_sym
- resource_name name if resource_name.nil?
+ # deliberately do not go through the accessor here
+ @resource_name = name if resource_name.nil?
if @chef_version_for_provides && !options.include?(:chef_version)
options[:chef_version] = @chef_version_for_provides