Module: Chef::Resource::ActionClass
- Defined in:
- lib/chef/resource/action_class.rb
Defined Under Namespace
Modules: ClassMethods
Class Method Summary collapse
Instance Method Summary collapse
-
#load_current_resource ⇒ Object
If load_current_value! is defined on the resource, use that.
- #to_s ⇒ Object
Class Method Details
.included(other) ⇒ Object
63 64 65 66 67 |
# File 'lib/chef/resource/action_class.rb', line 63 def self.included(other) other.extend(ClassMethods) other.use_inline_resources other.include_resource_dsl true end |
Instance Method Details
#load_current_resource ⇒ Object
If load_current_value! is defined on the resource, use that.
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/chef/resource/action_class.rb', line 31 def load_current_resource if new_resource.respond_to?(:load_current_value!) # dup the resource and then reset desired-state properties. current_resource = new_resource.dup # We clear desired state in the copy, because it is supposed to be actual state. # We keep identity properties and non-desired-state, which are assumed to be # "control" values like `recurse: true` current_resource.class.properties.each do |name, property| if property.desired_state? && !property.identity? && !property.name_property? property.reset(current_resource) end end # Call the actual load_current_value! method. If it raises # CurrentValueDoesNotExist, set current_resource to `nil`. begin # If the user specifies load_current_value do |desired_resource|, we # pass in the desired resource as well as the current one. if current_resource.method(:load_current_value!).arity > 0 current_resource.load_current_value!(new_resource) else current_resource.load_current_value! end rescue Chef::Exceptions::CurrentValueDoesNotExist current_resource = nil end end @current_resource = current_resource end |
#to_s ⇒ Object
24 25 26 |
# File 'lib/chef/resource/action_class.rb', line 24 def to_s "#{new_resource || "<no resource>"} action #{action ? action.inspect : "<no action>"}" end |