Implement `get' task keyword, fetch from registry

This commit is contained in:
Thibault Jouan 2014-01-21 17:31:32 +00:00
parent f92ad8128d
commit 456ed17724
3 changed files with 25 additions and 0 deletions

View File

@ -0,0 +1,13 @@
Feature: access to registry from task DSL
Scenario: `get' keyword fetches a value from the registry
Given a recipe with:
"""
set :some_key, 'some_value'
task :output_some_key do
echo get :some_key
end
"""
When I successfully execute the recipe
Then the output must contain "some_value"

View File

@ -37,6 +37,10 @@ module Producer
def ask(question, choices, prompter: Prompter)
prompter.new(env.input, env.output).prompt(question, choices)
end
def get(key)
env[key]
end
end
end
end

View File

@ -102,5 +102,13 @@ module Producer::Core
expect(ask).to eq :choice
end
end
describe '#get' do
let(:env) { Env.new(registry: { some_key: :some_value }) }
it 'fetches a value from the registry at given index' do
expect(dsl.get :some_key).to eq :some_value
end
end
end
end