From 27c57238f1f2fddc7d03dad818a6b7ee78cbff96 Mon Sep 17 00:00:00 2001 From: John Keiser Date: Thu, 7 May 2015 09:53:35 -0700 Subject: Deprecate dsl_name (the "DSL name for this class" is no longer meaningful). --- lib/chef/mixin/provides.rb | 6 ++ lib/chef/platform/provider_mapping.rb | 2 +- lib/chef/resource.rb | 3 +- lib/chef/resource/lwrp_base.rb | 192 +++++++++++++++++----------------- lib/chef/resource_reporter.rb | 2 +- 5 files changed, 106 insertions(+), 99 deletions(-) (limited to 'lib/chef') diff --git a/lib/chef/mixin/provides.rb b/lib/chef/mixin/provides.rb index d71097ca4b..c39c53a190 100644 --- a/lib/chef/mixin/provides.rb +++ b/lib/chef/mixin/provides.rb @@ -29,6 +29,12 @@ class Chef resource_name = resource_name.resource_name if resource_name.is_a?(Chef::Resource) node_map.get(node, resource_name) end + + # Get the list of recipe DSL this resource is responsible for on the given + # node. + def provided_as(node) + node_map.list(node) + end end end end diff --git a/lib/chef/platform/provider_mapping.rb b/lib/chef/platform/provider_mapping.rb index 763ae79368..8e9f46619f 100644 --- a/lib/chef/platform/provider_mapping.rb +++ b/lib/chef/platform/provider_mapping.rb @@ -467,7 +467,7 @@ class Chef begin class_name = resource_type.class.to_s.split('::').last result = Chef::Provider.const_get(class_name) - Chef::Log.warn("Class Chef::Provider::#{class_name} does not declare 'provides #{resource_type.class.dsl_name.to_sym.inspect}'.") + Chef::Log.warn("Class Chef::Provider::#{class_name} does not declare 'provides #{resource.resource_name.inspect}'.") Chef::Log.warn("This will no longer work in Chef 13: you must use 'provides' to provide DSL.") result rescue NameError diff --git a/lib/chef/resource.rb b/lib/chef/resource.rb index d5a1876943..6030572be6 100644 --- a/lib/chef/resource.rb +++ b/lib/chef/resource.rb @@ -605,7 +605,7 @@ class Chef return "suppressed sensitive resource output" if sensitive ivars = instance_variables.map { |ivar| ivar.to_sym } - HIDDEN_IVARS text = "# Declared in #{@source_line}\n\n" - text << self.class.dsl_name + "(\"#{name}\") do\n" + text << "#{resource_name}(\"#{name}\") do\n" ivars.each do |ivar| if (value = instance_variable_get(ivar)) && !(value.respond_to?(:empty?) && value.empty?) value_string = value.respond_to?(:to_text) ? value.to_text : value.inspect @@ -821,6 +821,7 @@ class Chef # # @return [String] The DSL name of this resource. def self.dsl_name + Chef::Log.deprecation "Resource.dsl_name is deprecated and will be removed in Chef 11. Use resource.resource_name instead." if name name = self.name.split('::')[-1] convert_to_snake_case(name) diff --git a/lib/chef/resource/lwrp_base.rb b/lib/chef/resource/lwrp_base.rb index c07ff44187..89e4aa8b42 100644 --- a/lib/chef/resource/lwrp_base.rb +++ b/lib/chef/resource/lwrp_base.rb @@ -37,131 +37,132 @@ class Chef NULL_ARG = Object.new - extend Chef::Mixin::ConvertToClassName - extend Chef::Mixin::FromFile + # Class methods + class <