module Poise::Helpers::Inversion::OptionsResource::ClassMethods

Public Instance Methods

included(klass) click to toggle source

@api private

Calls superclass method
# File lib/poise/helpers/inversion/options_resource.rb, line 99
def included(klass)
  super
  klass.extend(ClassMethods)
  klass.class_exec do
    actions(:run)
    attribute(:resource, kind_of: String, name_attribute: true)
    attribute(:for_provider, kind_of: [String, Symbol], default: '*')
    attribute(:_options, kind_of: Hash, default: lazy { Mash.new })
  end
end
inversion_resource(val=nil) click to toggle source

@overload inversion_resource()

Return the inversion resource name for this class.
@return [Symbol]

@overload inversion_resource(val)

Set the inversion resource name for this class. You can pass either
a symbol in DSL format or a resource class that uses Poise. This
name is used to determine which resources the inversion provider is
a candidate for.
@param val [Symbol, Class] Name to set.
@return [Symbol]
# File lib/poise/helpers/inversion/options_resource.rb, line 89
def inversion_resource(val=nil)
  if val
    val = val.resource_name if val.is_a?(Class)
    Chef::Log.debug("[#{self.name}] Setting inversion resource to #{val}")
    @poise_inversion_resource = val.to_sym
  end
  @poise_inversion_resource || (superclass.respond_to?(:inversion_resource) ? superclass.inversion_resource : nil)
end