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:
@@ -1,7 +1,7 @@
|
||||
module Producer
|
||||
module Core
|
||||
class Recipe
|
||||
attr_reader :code, :filepath
|
||||
attr_reader :code, :filepath, :tasks
|
||||
|
||||
def self.from_file(filepath)
|
||||
new(File.read(filepath), filepath)
|
||||
@@ -10,11 +10,13 @@ module Producer
|
||||
def initialize(code, filepath = nil)
|
||||
@code = code
|
||||
@filepath = filepath
|
||||
@tasks = []
|
||||
end
|
||||
|
||||
def evaluate(env)
|
||||
dsl = DSL.new(@code).evaluate(env)
|
||||
dsl.tasks.map { |e| e.evaluate env }
|
||||
@tasks = dsl.tasks
|
||||
end
|
||||
end
|
||||
end
|
||||
|
Reference in New Issue
Block a user