diff options
author | Lamont Granquist <lamont@scriptkiddie.org> | 2020-03-05 13:32:05 -0800 |
---|---|---|
committer | Lamont Granquist <lamont@scriptkiddie.org> | 2020-03-05 15:34:15 -0800 |
commit | fe71cbcdf09618307b594a28431dc6fa1a6c08d0 (patch) | |
tree | 02af95382de10c09ff6a9e143af2a35a4a347491 | |
parent | 17964bbbf5f268cf102ec9ed39ea14c55af0477d (diff) | |
download | chef-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.rb | 8 |
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 |