Implement `set' task keyword

This commit is contained in:
Thibault Jouan 2015-04-06 12:39:09 +00:00
parent d16f952232
commit 2363bfb62a
3 changed files with 19 additions and 0 deletions

View File

@ -57,6 +57,17 @@ Feature: key/value registry
When I successfully execute the recipe
Then the output must contain "some_value"
Scenario: `set' keyword sets a value from a task
Given a recipe with:
"""
task :registry_testing do
set :some_key, 'some_value'
echo get :some_key
end
"""
When I successfully execute the recipe
Then the output must contain "some_value"
Scenario: `set?' keyword tests wether given key is defined
Given a recipe with:
"""

View File

@ -16,6 +16,7 @@ module Producer
extend Forwardable
def_delegators :@name, :to_s
def_delegators :@env, :target
def_delegator :@env, :[]=, :set
def_delegator :@env, :[], :get
def_delegator :@env, :key?, :set?
def_delegator :@env, :recipe_argv

View File

@ -152,6 +152,13 @@ module Producer::Core
end
end
describe '#set' do
it 'sets a value in the registry' do
task.set :some_key, :some_value
expect(task.get :some_key).to eq :some_value
end
end
describe '#get' do
before { env[:some_key] = :some_value }