Implement Worker class:

* Move recipe processing code in the worker;
* Refactor CLI and use the the worker;
* Implement Recipe#tasks and remove tasks application during evaluation,
  tasks are now applied by the worker after all evaluations are done.
This commit is contained in:
Thibault Jouan
2013-08-08 01:55:55 +00:00
parent ec44d01c36
commit 0904fa1fc9
9 changed files with 158 additions and 76 deletions

View File

@@ -1,17 +1,18 @@
module Producer
module Core
class Task
attr_reader :name
attr_reader :name, :actions
def initialize(name, &block)
@name = name
@block = block
@name = name
@block = block
@actions = []
end
def evaluate(env)
dsl = DSL.new(&@block)
dsl.evaluate(env)
dsl.actions.map(&:apply)
@actions = dsl.actions
end
end
end