diff options
author | Thom May <thom@chef.io> | 2018-03-24 08:02:19 +0000 |
---|---|---|
committer | Thom May <thom@chef.io> | 2018-03-24 08:02:19 +0000 |
commit | 3a2fd533ddd386440cb5307cf9585922f31452d7 (patch) | |
tree | cd3f2e2cdaa9bb238a2cca2c350d5ff8cf35c421 /lib/chef/resource.rb | |
parent | b8d6fac0280d165aee24c40e171d921fb10deb63 (diff) | |
download | chef-3a2fd533ddd386440cb5307cf9585922f31452d7.tar.gz |
RFC-102: Deprecation warning in resourcestm/deprecated_properties
* `deprecated_property_alias` allows the resource author to provide
transition from old properties to new ones with a deprecation
warning.
* The `deprecated` option on a property emits a deprecation warning.
* The `deprecated` method on a resource takes a message, but does not
yet emit a deprecation warning.
Signed-off-by: Thom May <thom@chef.io>
Diffstat (limited to 'lib/chef/resource.rb')
-rw-r--r-- | lib/chef/resource.rb | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/lib/chef/resource.rb b/lib/chef/resource.rb index 26298e5b1d..46bc25b713 100644 --- a/lib/chef/resource.rb +++ b/lib/chef/resource.rb @@ -148,6 +148,7 @@ class Chef @not_if = [] @only_if = [] @source_line = nil + @deprecated = false # We would like to raise an error when the user gives us a guard # interpreter and a ruby_block to the guard. In order to achieve this # we need to understand when the user overrides the default guard @@ -1181,8 +1182,8 @@ class Chef # Internal Resource Interface (for Chef) # - FORBIDDEN_IVARS = [:@run_context, :@logger, :@not_if, :@only_if, :@enclosing_provider, :@description, :@introduced, :@examples, :@validation_message] - HIDDEN_IVARS = [:@allowed_actions, :@resource_name, :@source_line, :@run_context, :@logger, :@name, :@not_if, :@only_if, :@elapsed_time, :@enclosing_provider, :@description, :@introduced, :@examples, :@validation_message] + FORBIDDEN_IVARS = [:@run_context, :@logger, :@not_if, :@only_if, :@enclosing_provider, :@description, :@introduced, :@examples, :@validation_message, :@deprecated] + HIDDEN_IVARS = [:@allowed_actions, :@resource_name, :@source_line, :@run_context, :@logger, :@name, :@not_if, :@only_if, :@elapsed_time, :@enclosing_provider, :@description, :@introduced, :@examples, :@validation_message, :@deprecated] include Chef::Mixin::ConvertToClassName extend Chef::Mixin::ConvertToClassName @@ -1406,6 +1407,14 @@ class Chef @examples end + def self.deprecated(deprecated = "NOT_PASSED") + if deprecated != "NOT_PASSED" + @deprecated = true + @deprecated_message = deprecated + end + @deprecated + end + # # The cookbook in which this Resource was defined (if any). # |