Implement basic task actions API:

* Add Action base class;
* Implement Task::DSL.define_action(keyword, klass);
* Add Task::DSL#actions accessor;
* Apply task DSL actions when Task instances are evaluated.
This commit is contained in:
Thibault Jouan
2013-08-03 14:45:14 +00:00
parent 8e455fc4d5
commit e6c14f1903
7 changed files with 92 additions and 3 deletions

View File

@@ -9,7 +9,9 @@ module Producer
end
def evaluate(env)
DSL.new(&@block).evaluate(env)
dsl = DSL.new(&@block)
dsl.evaluate(env)
dsl.actions.map(&:apply)
end
end
end