Implement `set' task keyword
This commit is contained in:
parent
d16f952232
commit
2363bfb62a
@ -57,6 +57,17 @@ Feature: key/value registry
|
|||||||
When I successfully execute the recipe
|
When I successfully execute the recipe
|
||||||
Then the output must contain "some_value"
|
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
|
Scenario: `set?' keyword tests wether given key is defined
|
||||||
Given a recipe with:
|
Given a recipe with:
|
||||||
"""
|
"""
|
||||||
|
@ -16,6 +16,7 @@ module Producer
|
|||||||
extend Forwardable
|
extend Forwardable
|
||||||
def_delegators :@name, :to_s
|
def_delegators :@name, :to_s
|
||||||
def_delegators :@env, :target
|
def_delegators :@env, :target
|
||||||
|
def_delegator :@env, :[]=, :set
|
||||||
def_delegator :@env, :[], :get
|
def_delegator :@env, :[], :get
|
||||||
def_delegator :@env, :key?, :set?
|
def_delegator :@env, :key?, :set?
|
||||||
def_delegator :@env, :recipe_argv
|
def_delegator :@env, :recipe_argv
|
||||||
|
@ -152,6 +152,13 @@ module Producer::Core
|
|||||||
end
|
end
|
||||||
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
|
describe '#get' do
|
||||||
before { env[:some_key] = :some_value }
|
before { env[:some_key] = :some_value }
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user