175 Commits

Author SHA1 Message Date
Thibault Jouan
f45d0b5a20 Modify Remote::FS interface:
* Accept SFTP session in FS constructor;
* Modify Remote to build the session required by FS;
* Change TestEnvHelpers#build_remote in order to provided a test double
  as the remote FS.
2014-03-05 00:07:59 +00:00
Thibault Jouan
85e3bf2eac Implement Testing::MockRemote#execute 2014-03-04 05:54:19 +00:00
Thibault Jouan
b576604498 Implement basic Testing::MockRemote object 2014-03-04 05:54:19 +00:00
Thibault Jouan
88036f0389 Allow Env constructor to accept a remote instance 2014-03-04 04:58:26 +00:00
Thibault Jouan
09f624744b Fix assignations order in Env#initialize 2014-02-14 18:25:44 +00:00
Thibault Jouan
bdd09b6ea9 Regroup all require calls in lib source files 2014-02-08 01:24:34 +00:00
Thibault Jouan
a0482d175c Implement `file_contains' condition keyword 2014-01-23 16:37:19 +00:00
Thibault Jouan
05331d334d Implement Remote::FS#file_read 2014-01-23 16:37:02 +00:00
Thibault Jouan
65ceb9e741 Refactor forwardable require calls 2014-01-22 21:33:05 +00:00
Thibault Jouan
456ed17724 Implement `get' task keyword, fetch from registry 2014-01-21 17:31:32 +00:00
Thibault Jouan
f92ad8128d Implement set' and get' recipe keywords:
`set' registers a value at given index in env registry, `get'
retrieves a value at given index.
2014-01-21 17:11:17 +00:00
Thibault Jouan
154ee8d534 Implement a key/value registry at env level 2014-01-21 17:10:42 +00:00
Thibault Jouan
d845af60a3 Bump version to 0.1.12 2014-01-21 15:51:17 +00:00
Thibault Jouan
7f5d1a4085 Implement `mkdir' task action 2014-01-21 15:50:07 +00:00
Thibault Jouan
0b4df20f55 Implement `has_dir' condition keyword 2014-01-21 15:02:07 +00:00
Thibault Jouan
9d7af04d28 Implement Remote::FS#dir? 2014-01-21 15:01:27 +00:00
Thibault Jouan
6db71caea9 Bump version to 0.1.11 2014-01-21 01:20:15 +00:00
Thibault Jouan
0d0ed541c8 Allow `ask' action to customize choices prompt 2014-01-21 01:19:17 +00:00
Thibault Jouan
7e062e06a1 Implement `ask' recipe keyword 2014-01-21 00:52:44 +00:00
Thibault Jouan
70109615c8 Implement Action#input, delegating to env input 2014-01-20 22:27:55 +00:00
Thibault Jouan
a871bb4009 Implement input handling in Env 2014-01-20 22:27:55 +00:00
Thibault Jouan
dae7d5d79e Fix Task::DSL attributes:
* Remove condition attribute accessor, implemented as a method;
* Make all other read-only.
2014-01-20 01:47:20 +00:00
Thibault Jouan
5455955fd2 Add Task::DSL#block attribute reader 2014-01-20 01:47:20 +00:00
Thibault Jouan
b6ec8ed468 Implement Remote::Environment#[] 2014-01-20 01:47:19 +00:00
Thibault Jouan
4603ce777f Make Remote#hostname attribute read-only 2014-01-20 01:47:19 +00:00
Thibault Jouan
b1e182cc93 Add Remote::FS#remote attribute reader 2014-01-20 01:47:19 +00:00
Thibault Jouan
705774f8ef Add Remote::Environment#variables attribute reader 2014-01-20 01:47:19 +00:00
Thibault Jouan
161c784cbe Make Recipe::DSL methods public 2014-01-20 01:47:19 +00:00
Thibault Jouan
42a82c9c80 Add Recipe::DSL#{code,block} attribute readers 2014-01-20 01:47:19 +00:00
Thibault Jouan
f27ab6f074 Add Condition::DSL#{block,env} attribute readers 2014-01-19 16:50:42 +00:00
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