29 Commits

Author SHA1 Message Date
Thibault Jouan
c8b685b8a3 Fix coding standards 2015-05-12 15:02:44 +00:00
Thibault Jouan
86a84bbe12 Refactor with Forwardable module 2014-11-18 11:20:28 +00:00
Thibault Jouan
9bc5c2aeec Implement `composed_macro' recipe keyword 2014-10-02 03:20:12 +00:00
Thibault Jouan
b11d0b6950 Allow `target' recipe keyword to return target 2014-09-25 14:57:27 +00:00
Thibault Jouan
3dc414f188 Declare macro in tasks 2014-09-25 00:27:46 +00:00
Thibault Jouan
8ce8c2f054 Refactor Recipe 2014-09-25 00:18:51 +00:00
Thibault Jouan
52ecf4899b Implement Recipe{.,#}compose_macro 2014-09-22 22:04:46 +00:00
Thibault Jouan
a60140a1d4 Fix coding standards 2014-09-22 21:37:37 +00:00
Thibault Jouan
6b6107895e Simplify Recipe#test_macro prototype 2014-09-22 19:43:43 +00:00
Thibault Jouan
3b28045340 Merge Condition::DSL into Condition 2014-09-22 19:43:43 +00:00
Thibault Jouan
2c335b2437 Merge Task::DSL into Task 2014-09-22 19:43:36 +00:00
Thibault Jouan
166dae681c Merge Recipe::DSL into Recipe 2014-09-22 19:43:30 +00:00
Thibault Jouan
352fcd37f8 Modify recipe DSL API to take env on initialization 2014-01-08 22:13:14 +00:00
Thibault Jouan
366c682152 Remove Recipe::DSL.evaluate method 2013-12-20 11:24:30 +00:00
Thibault Jouan
9251c6af8e Improve coding standards 2013-12-20 06:46:28 +00:00
Thibault Jouan
f0e144cebd Refactor and simplify recipe DSL evaluation usages:
Remove most of recipe evaluation code in Recipe class, and rely on
Recipe::DSL to get evaluated recipes.

* Remove Recipe#evaluate call from CLI, rely on
  Recipe.evaluate_from_file to get the evaluated recipe;
* Implement Recipe.evaluate_from_file(filepath, env);
* Implement Recipe::DSL.evaluate(code, env);
* Remove code and filepath accessor on Recipe;
* Remove Recipe.from_file and Recipe#evaluate methods;
* Move task evaluations in Recipe::DSL#evaluate;
* Modify Recipe constructor so that it accepts tasks as argument.
2013-08-14 19:48:43 +00:00
Thibault Jouan
0904fa1fc9 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.
2013-08-10 14:47:02 +00:00
Thibault Jouan
c4fc9828db Improve error reporting during recipe evaluation
* Report invalid action usages from tasks;
* Implement backtrace cleaning in CLI;
* Extract error class declarations in a new errors file;
* Replace raise with fail keyword in task DSL class.
2013-08-01 20:31:39 +00:00
Thibault Jouan
ace6a4ad2b Implement Task::DSL#evaluate:
So that the env is available from the task DSL.
2013-08-01 00:01:20 +00:00
Thibault Jouan
2939123574 Extract recipe DSL code and spec 2013-08-01 00:01:19 +00:00
Thibault Jouan
e12dd5c0e7 Implement recipe error reporting feature 2013-08-01 00:01:15 +00:00
Thibault Jouan
10bfe17c56 Remove extra #each call in Recipe#evaluate 2013-07-30 14:48:07 +00:00
Thibault Jouan
d199ba56fd Add Env class 2013-07-30 14:47:56 +00:00
Thibault Jouan
30e1930719 Implement Recipe::DSL#evaluate method:
Move recipe DSL evaluation in a dedicated #evaluate method, instead of
evaluating the code during the DSL instantiation.
2013-07-30 14:46:27 +00:00
Thibault Jouan
37e17d1030 Implement Recipe#filepath method:
Returns the filepath of the recipe when it is built from a file.
2013-07-30 14:46:27 +00:00
Thibault Jouan
baaa957e9e Implement task evaluation feature 2013-07-28 19:18:53 +00:00
Thibault Jouan
c7295fb977 Implement source keyword feature for recipes 2013-07-28 18:38:00 +00:00
Thibault Jouan
8e4f670fbf Introduce Recipe::DSL to eval recipe DSL code 2013-07-28 18:08:16 +00:00
Thibault Jouan
0921be9ab0 Implement recipe evaluation feature 2013-07-27 18:20:45 +00:00