class Faith::DSL::ChildBuilder

Public Class Methods

new(parent) click to toggle source
# File lib/faith/dsl.rb, line 18
def initialize(parent)
  @parent = parent
end

Public Instance Methods

group(name, &block) click to toggle source
# File lib/faith/dsl.rb, line 34
def group(name, &block)
  DSL.validate_name!(name)

  group = Group.new(name, @parent, [])
  @parent.children << group

  Docile.dsl_eval(ChildBuilder.new(group), &block)
end
mixin(name, &block) click to toggle source
# File lib/faith/dsl.rb, line 28
def mixin(name, &block)
  DSL.validate_name!(name)

  @parent.children << Docile.dsl_eval(MixinBuilder.new(name, @parent), &block).result
end
sequence(name, &block) click to toggle source
# File lib/faith/dsl.rb, line 43
def sequence(name, &block)
  DSL.validate_name!(name)

  seq = Sequence.new(name, @parent, [])
  @parent.children << seq

  Docile.dsl_eval(ChildBuilder.new(seq), &block)
end
task(name, mixins: [], dependencies: [], &action) click to toggle source
# File lib/faith/dsl.rb, line 22
def task(name, mixins: [], dependencies: [], &action)
  DSL.validate_name!(name)
  
  @parent.children << Task.new(name, @parent, mixins: mixins, dependencies: dependencies, &action)
end