class Orchestra::DSL::Steps::Context

Public Class Methods

evaluate(builder, &block) click to toggle source
# File lib/orchestra/dsl/steps.rb, line 27
def self.evaluate builder, &block
  context = new builder
  context.instance_eval &block
end
new(builder) click to toggle source
# File lib/orchestra/dsl/steps.rb, line 32
def initialize builder
  @builder = builder
end

Public Instance Methods

depends_on(*dependencies) click to toggle source
# File lib/orchestra/dsl/steps.rb, line 36
def depends_on *dependencies
  defaults, dependencies = Util.extract_hash dependencies
  @builder.dependencies.concat dependencies
  defaults.each do |key, default|
    @builder.dependencies << key
    @builder.defaults[key] = Util.to_lazy_thunk default
  end
end
execute(&block) click to toggle source
# File lib/orchestra/dsl/steps.rb, line 59
def execute &block
  @builder.execute_block = block
end
iterates_over(dependency) click to toggle source
# File lib/orchestra/dsl/steps.rb, line 63
def iterates_over dependency
  @builder.dependencies << dependency
  @builder.collection = dependency
end
modifies(provision, args = {}) click to toggle source
# File lib/orchestra/dsl/steps.rb, line 45
def modifies provision, args = {}
  collection, _ = Util.extract_key_args args, :collection => false
  if collection
    iterates_over provision
  else
    depends_on provision
  end
  provides provision
end
provides(*provisions) click to toggle source
# File lib/orchestra/dsl/steps.rb, line 55
def provides *provisions
  @builder.provisions.concat provisions
end