class Recipe::DSL

Attributes

elements[RW]
mixes[RW]
name[RW]

Public Class Methods

new() { |self| ... } click to toggle source
# File lib/recipe/dsl/dsl.rb, line 4
def initialize(&block)
  @name = "Recipe"
  @elements = []
  @mixes = []
  yield(self)
end

Public Instance Methods

ingredient(name, measurement) click to toggle source
# File lib/recipe/dsl/dsl.rb, line 20
def ingredient(name, measurement)
  if @mixes.count > 0
    @mixes[@mixes.count-1] << Recipe::Ingredient.new(name, measurement)
  else
    @elements << Recipe::Ingredient.new(name, measurement)
  end
end
instruction(text) click to toggle source
# File lib/recipe/dsl/dsl.rb, line 28
def instruction(text)
  if @mixes.count > 0
    @mixes[@mixes.count-1] << Recipe::Instruction.new(text)
  else
    @elements << Recipe::Instruction.new(text)
  end
end
mix(name) click to toggle source
# File lib/recipe/dsl/dsl.rb, line 15
def mix(name)
  @elements << Recipe::Mix.new(name)
  @mixes << []
end
printer(klass) click to toggle source
# File lib/recipe/dsl/dsl.rb, line 36
def printer(klass)
  klass.new(name, elements, mixes)
end