class ItamaeMitsurin::Definition

Attributes

defined_in_recipe[RW]
definition_block[RW]

Public Class Methods

create_class(name, params, defined_in_recipe, &block) click to toggle source
# File lib/itamae-mitsurin/definition.rb, line 9
def create_class(name, params, defined_in_recipe, &block)
  Class.new(self).tap do |klass|
    klass.definition_block = block
    klass.defined_in_recipe = defined_in_recipe

    klass.define_attribute :action, default: :run
    params.each_pair do |key, value|
      klass.define_attribute key.to_sym, type: Object, default: value
    end
  end
end
new(*args) click to toggle source
Calls superclass method
# File lib/itamae-mitsurin/definition.rb, line 22
def initialize(*args)
  super

  r = Recipe::RecipeFromDefinition.new(
    runner,
    self.class.defined_in_recipe.path,
  )
  recipe.children << r

  r.definition = self
  r.load(params: @attributes.merge(name: resource_name))
end

Public Instance Methods

run(*args) click to toggle source
# File lib/itamae-mitsurin/definition.rb, line 35
def run(*args)
  # nothing
end