197 Commits

Author SHA1 Message Date
Thibault Jouan
db6f22ac97 Change Condition::DSL#tests as read-only attribute 2014-01-19 16:39:26 +00:00
Thibault Jouan
2e151fe321 Change Action attributes as read-only:
* #env
* #arguments
2014-01-19 16:37:51 +00:00
Thibault Jouan
5d81f0bc07 Add Condition#{tests,return_value} attributes reader 2014-01-19 00:07:21 +00:00
Thibault Jouan
913cba6c23 Add some new delegators in Test class:
* #remote (delegates to env.remote)
* #fs (delegates to env.remote.fs)
2014-01-18 22:53:54 +00:00
Thibault Jouan
22613059f1 Change Env#output as read-only attribute 2014-01-09 01:22:43 +00:00
Thibault Jouan
b67a32d27e Change CLI#recipe as read-only attribute 2014-01-09 01:16:13 +00:00
Thibault Jouan
a7dde5afce Bump version to 0.1.10 2014-01-09 01:09:17 +00:00
Thibault Jouan
4c0a7f0fc7 Rename Interpreter class as Worker 2014-01-09 01:08:49 +00:00
Thibault Jouan
cdc3128727 Implement Action#remote (delegates to remote.fs) 2014-01-09 00:51:16 +00:00
Thibault Jouan
29c26ab961 Implement Action#remote (delegates to env.remote) 2014-01-09 00:45:26 +00:00
Thibault Jouan
e567c61e4e Implement Action#output (delegates to env.output) 2014-01-09 00:43:01 +00:00
Thibault Jouan
103b9d1230 Rename Remote::FS#{has_,}file? 2014-01-08 22:30:52 +00:00
Thibault Jouan
19b091a15c Rename Remote::Environment#{has_,}key? 2014-01-08 22:28:23 +00:00
Thibault Jouan
352fcd37f8 Modify recipe DSL API to take env on initialization 2014-01-08 22:13:14 +00:00
Thibault Jouan
1d6ae126ed Modify task DSL API to take env on initialization 2014-01-08 22:11:30 +00:00
Thibault Jouan
b1010e44c5 Bump version to 0.1.9 2014-01-08 02:19:03 +00:00
Thibault Jouan
7dfbc3905b Rewrite CLI#run:
* Rename #run! to #run;
* Add #load_recipe method;
* Remove most builder/accessor/memoizable methods.
2014-01-08 02:10:18 +00:00
Thibault Jouan
4d34f66ec5 Add EX_USAGE constant in CLI class 2014-01-07 21:23:15 +00:00
Thibault Jouan
512c380517 Bump version to 0.1.9 2014-01-07 21:21:42 +00:00
Thibault Jouan
f7efd9c42f Refactor CLI usage into CLI.run!:
* Add Producer::Core::CLI::ArgumentError class;
* Raise ArgumentError in CLI.new when recipe is missing;
* Remove #check_arguments! and #print_usage_and_exit, move code into
  .run! method.
2014-01-07 21:06:14 +00:00
Thibault Jouan
dc9e7f1412 Improve CLI API related to standard output 2014-01-07 18:47:56 +00:00
Thibault Jouan
d670d5dbdd Replace env.output interface with an IO like object 2013-12-23 23:31:15 +00:00
Thibault Jouan
012c776880 Simplify Remote::Environment with factory method:
* Implement .new_from_string factory class method;
* Rename private method #parse_from_string as class method
  .string_to_hash;
* Remove argument kind detection logic in constructor.
2013-12-21 03:08:01 +00:00
Thibault Jouan
4885483d75 Bump version to 0.1.7 2013-12-20 23:35:02 +00:00
Thibault Jouan
e8be44d1f0 Implement `macro' recipe keyword 2013-12-20 23:19:16 +00:00
Thibault Jouan
43a781dc78 Remove Task::DSL.evaluate method 2013-12-20 11:43:18 +00:00
Thibault Jouan
366c682152 Remove Recipe::DSL.evaluate method 2013-12-20 11:24:30 +00:00
Thibault Jouan
d83b11d07b Remove Condition::DSL.evaluate method 2013-12-20 11:24:30 +00:00
Thibault Jouan
9422705ad4 Fix coding standards in Remote (extra parentheses) 2013-12-20 11:24:30 +00:00
Thibault Jouan
9251c6af8e Improve coding standards 2013-12-20 06:46:28 +00:00
Thibault Jouan
0b68a8165d Bump version to 0.1.6 2013-12-20 06:28:03 +00:00
Thibault Jouan
892a9862fc Implement `file_write' action 2013-12-20 06:26:21 +00:00
Thibault Jouan
96daed624f Bump version to 0.1.5 2013-12-19 23:26:26 +00:00
Thibault Jouan
35621e1f5f Implement condition DSL negated test prefix (no_*)
* Allow no_* to be used for every tests in condition DSL:
  condition { no_has_env :shell, '/bin/sh' };
* Modify Test constructor to accept negated: named argument, implement
  #negated? and #pass?;
* Rename #success? to #verify in all test classes.
2013-12-19 20:22:44 +00:00
Thibault Jouan
a36b30dd3c Bump version to 0.1.4 2013-10-01 19:38:09 +00:00
Thibault Jouan
85a47df547 Use SSH user name configured for a given target:
When a user is configured for the targeted host name, use it for SSH
authentification instead of the name of current user logged in.

* Modify Remote#user_name to use configured user name.
2013-09-28 20:07:36 +00:00
Thibault Jouan
768a6755de Implement Remote#config:
Load SSH configuration for targeted host name.
2013-09-26 19:22:07 +00:00
Thibault Jouan
9985fceb63 Extract logic for current target ssh user name:
Add Remote#user_name method, with code returning which user name
will be used for SSH authentication.
2013-09-26 18:34:19 +00:00
Thibault Jouan
c281687bfb Bump version to 0.1.3 2013-09-26 00:30:41 +00:00
Thibault Jouan
2cbe1726f7 Implement `has_file' condition keyword 2013-09-26 00:28:40 +00:00
Thibault Jouan
3492382968 Implement Remote::FS#has_file? 2013-09-26 00:28:40 +00:00
Thibault Jouan
91f2bc3567 Implement Remote#fs 2013-09-26 00:28:40 +00:00
Thibault Jouan
99710b0df9 Implement Remote::FS#sftp 2013-09-26 00:28:40 +00:00
Thibault Jouan
d240df0281 Add Remote::FS class 2013-09-26 00:28:40 +00:00
Thibault Jouan
e51adbdefa Bump version to 0.1.2 2013-09-26 00:20:39 +00:00
Thibault Jouan
e676eb40d6 Transform Tests class in a module 2013-09-23 21:44:50 +00:00
Thibault Jouan
8247f3a973 Bump version to 0.1.1 2013-08-20 03:53:38 +00:00
Thibault Jouan
5d3173977f Bump version to 0.1.0 2013-08-20 03:16:45 +00:00
Thibault Jouan
04afc82a29 Implement `has_env' condition keyword 2013-08-20 03:03:17 +00:00
Thibault Jouan
b0ea7d876e Implement Remote#environment:
Build and return a Remote::Environment instance, with the output of
`env` command execution.
2013-08-20 03:03:07 +00:00