Implement recipe arguments

CLI will stop arguments processing after the special `--' argument,
the rest will be saved in the env and accessible through a new task
keyword: `recipe_argv'.
This commit is contained in:
Thibault Jouan
2015-04-04 04:41:25 +00:00
parent f17f8c354f
commit 433f830c54
7 changed files with 54 additions and 1 deletions

View File

@@ -130,6 +130,20 @@ module Producer::Core
end
end
context 'with recipe arguments' do
let(:arguments) { %w[recipe.rb -- foo] }
it 'removes recipe arguments' do
cli.parse_arguments!
expect(cli.arguments).to eq %w[recipe.rb]
end
it 'assigns env recipe arguments' do
cli.parse_arguments!
expect(cli.env.recipe_argv).to eq %w[foo]
end
end
context 'when no arguments remains after parsing' do
let(:arguments) { [] }