summaryrefslogtreecommitdiff
path: root/lib/chef
diff options
context:
space:
mode:
authorLamont Granquist <lamont@scriptkiddie.org>2017-06-08 13:31:40 -0700
committerLamont Granquist <lamont@scriptkiddie.org>2017-06-08 13:31:40 -0700
commiteb1c36404da38801ca755deccfd754512dd74782 (patch)
treeab6264e3433e6226524da1fb889b36436cc8d70f /lib/chef
parentaa55fd1ade2ec9fd052e3eb0a66f8c6a1d894c19 (diff)
downloadchef-eb1c36404da38801ca755deccfd754512dd74782.tar.gz
Deprecate property namespace magic
This forces everyone to starting using new_resource.property_name instead of just property_name. Signed-off-by: Lamont Granquist <lamont@scriptkiddie.org>
Diffstat (limited to 'lib/chef')
-rw-r--r--lib/chef/deprecated.rb10
-rw-r--r--lib/chef/dsl/declare_resource.rb10
-rw-r--r--lib/chef/provider.rb2
3 files changed, 21 insertions, 1 deletions
diff --git a/lib/chef/deprecated.rb b/lib/chef/deprecated.rb
index 372609c10a..2cf0f3d1bc 100644
--- a/lib/chef/deprecated.rb
+++ b/lib/chef/deprecated.rb
@@ -248,6 +248,16 @@ class Chef
end
end
+ class NamespaceCollisions < Base
+ def id
+ 19
+ end
+
+ def target
+ "namespace_collisions.html"
+ end
+ end
+
# id 3694 was deleted
class Generic < Base
diff --git a/lib/chef/dsl/declare_resource.rb b/lib/chef/dsl/declare_resource.rb
index 6869e77eca..0d727b4861 100644
--- a/lib/chef/dsl/declare_resource.rb
+++ b/lib/chef/dsl/declare_resource.rb
@@ -155,7 +155,15 @@ class Chef
def edit_resource(type, name, created_at: nil, run_context: self.run_context, &resource_attrs_block)
edit_resource!(type, name, created_at: created_at, run_context: run_context, &resource_attrs_block)
rescue Chef::Exceptions::ResourceNotFound
- declare_resource(type, name, created_at: created_at, run_context: run_context, &resource_attrs_block)
+ resource = declare_resource(type, name, created_at: created_at, run_context: run_context)
+ if resource_attrs_block
+ if defined?(new_resource)
+ resource.instance_exec(new_resource, &resource_attrs_block)
+ else
+ resource.instance_exec(&resource_attrs_block)
+ end
+ end
+ resource
end
# Lookup a resource in the resource collection by name. If the resource is not
diff --git a/lib/chef/provider.rb b/lib/chef/provider.rb
index c7048d50e5..71d3b12b34 100644
--- a/lib/chef/provider.rb
+++ b/lib/chef/provider.rb
@@ -350,9 +350,11 @@ class Chef
#
if args.empty? && !block
if !new_resource.property_is_set?(__method__) && current_resource
+ Chef.deprecated(:namespace_collisions, "rename #{name} to current_resource.#{name}")
return current_resource.public_send(__method__)
end
end
+ Chef.deprecated(:namespace_collisions, "rename #{name} to new_resource.#{name}")
new_resource.public_send(__method__, *args, &block)
end
EOM