class Chef::Resource::DscResource
Public Class Methods
Source
# File lib/chef/resource/dsc_resource.rb, line 52 def initialize(name, run_context) super @properties = ToTextHash.new @resource = nil end
Calls superclass method
Chef::Resource::new
Public Instance Methods
Source
# File lib/chef/resource/dsc_resource.rb, line 66 def module_name(value = nil) if value @module_name = value else @module_name end end
Source
# File lib/chef/resource/dsc_resource.rb, line 90 def properties @properties.reduce({}) do |memo, (k, v)| memo[k] = value_of(v) memo end end
Source
# File lib/chef/resource/dsc_resource.rb, line 78 def property(property_name, value = nil) unless property_name.is_a?(Symbol) raise TypeError, "A property name of type Symbol must be specified, '#{property_name}' of type #{property_name.class} was given" end if value.nil? value_of(@properties[property_name]) else @properties[property_name] = value end end
Source
# File lib/chef/resource/dsc_resource.rb, line 58 def resource(value = nil) if value @resource = value else @resource end end
Private Instance Methods
Source
# File lib/chef/resource/dsc_resource.rb, line 112 def value_of(value) if value.is_a?(DelayedEvaluator) value.call else value end end