2014-05-25 12:12:09 +00:00

30 lines
579 B
Ruby

module Producer
module Core
class Task
class << self
def evaluate(name, env, *args, &block)
dsl = DSL.new(env, &block)
dsl.evaluate(*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 to_s
name.to_s
end
def condition_met?
!!@condition
end
end
end
end