2013-12-20 23:19:16 +00:00

26 lines
535 B
Ruby

module Producer
module Core
class Task
class << self
def evaluate(name, env, *args, &block)
dsl = DSL.new(&block)
dsl.evaluate(env, *args)
Task.new(name, dsl.actions, dsl.condition)
end
end
attr_reader :name, :actions, :condition
def initialize(name, actions = [], condition = true)
@name = name
@actions = actions
@condition = condition
end
def condition_met?
!!@condition
end
end
end
end