class Chef::Resource::DscResource
Public Class Methods
new(name, run_context)
click to toggle source
Calls superclass method
Chef::Resource::new
# File lib/chef/resource/dsc_resource.rb, line 53 def initialize(name, run_context) super @properties = ToTextHash.new @resource = nil end
Public Instance Methods
module_name(value = nil)
click to toggle source
# File lib/chef/resource/dsc_resource.rb, line 67 def module_name(value = nil) if value @module_name = value else @module_name end end
properties()
click to toggle source
# File lib/chef/resource/dsc_resource.rb, line 91 def properties @properties.reduce({}) do |memo, (k, v)| memo[k] = value_of(v) memo end end
property(property_name, value = nil)
click to toggle source
# File lib/chef/resource/dsc_resource.rb, line 79 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
resource(value = nil)
click to toggle source
# File lib/chef/resource/dsc_resource.rb, line 59 def resource(value = nil) if value @resource = value else @resource end end
Private Instance Methods
value_of(value)
click to toggle source
# File lib/chef/resource/dsc_resource.rb, line 113 def value_of(value) if value.is_a?(DelayedEvaluator) value.call else value end end