summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGrzegorz Bizon <grzesiek.bizon@gmail.com>2016-06-13 09:14:23 +0200
committerGrzegorz Bizon <grzesiek.bizon@gmail.com>2016-06-13 09:58:35 +0200
commit11c0d022835cafc1d52e18580d0e1523a83bbdd2 (patch)
tree4c3afc2fda74c7c0b092117a84cb4285b9ed56e6
parent7c8f3b0cfc38838755a21641e402b3ef7a1f9d0b (diff)
downloadgitlab-ce-11c0d022835cafc1d52e18580d0e1523a83bbdd2.tar.gz
Simplify ci config node factory
-rw-r--r--lib/gitlab/ci/config/node/configurable.rb6
-rw-r--r--lib/gitlab/ci/config/node/factory.rb11
-rw-r--r--spec/lib/gitlab/ci/config/node/factory_spec.rb10
3 files changed, 11 insertions, 16 deletions
diff --git a/lib/gitlab/ci/config/node/configurable.rb b/lib/gitlab/ci/config/node/configurable.rb
index f2383e07aa7..86cc33e11be 100644
--- a/lib/gitlab/ci/config/node/configurable.rb
+++ b/lib/gitlab/ci/config/node/configurable.rb
@@ -31,8 +31,8 @@ module Gitlab
private
def create_node(key, factory)
- factory.with_value(@value[key])
- factory.null_node unless @value.has_key?(key)
+ factory.with(value: @value[key])
+ factory.nullify! unless @value.has_key?(key)
factory.create!
end
@@ -45,7 +45,7 @@ module Gitlab
def allow_node(symbol, entry_class, metadata)
factory = Node::Factory.new(entry_class)
- .with_description(metadata[:description])
+ .with(description: metadata[:description])
define_method(symbol) do
raise Entry::InvalidError unless valid?
diff --git a/lib/gitlab/ci/config/node/factory.rb b/lib/gitlab/ci/config/node/factory.rb
index 969af45272e..787ca006f5a 100644
--- a/lib/gitlab/ci/config/node/factory.rb
+++ b/lib/gitlab/ci/config/node/factory.rb
@@ -15,17 +15,12 @@ module Gitlab
@attributes = {}
end
- def with_value(value)
- @attributes[:value] = value
+ def with(attributes)
+ @attributes.merge!(attributes)
self
end
- def with_description(description)
- @attributes[:description] = description
- self
- end
-
- def null_node
+ def nullify!
@entry_class = Node::Null
self
end
diff --git a/spec/lib/gitlab/ci/config/node/factory_spec.rb b/spec/lib/gitlab/ci/config/node/factory_spec.rb
index 73d760d1b0a..d681aa32456 100644
--- a/spec/lib/gitlab/ci/config/node/factory_spec.rb
+++ b/spec/lib/gitlab/ci/config/node/factory_spec.rb
@@ -8,7 +8,7 @@ describe Gitlab::Ci::Config::Node::Factory do
context 'when value setting value' do
it 'creates entry with valid value' do
entry = factory
- .with_value(['ls', 'pwd'])
+ .with(value: ['ls', 'pwd'])
.create!
expect(entry.value).to eq "ls\npwd"
@@ -17,8 +17,8 @@ describe Gitlab::Ci::Config::Node::Factory do
context 'when setting description' do
it 'creates entry with description' do
entry = factory
- .with_value(['ls', 'pwd'])
- .with_description('test description')
+ .with(value: ['ls', 'pwd'])
+ .with(description: 'test description')
.create!
expect(entry.value).to eq "ls\npwd"
@@ -38,8 +38,8 @@ describe Gitlab::Ci::Config::Node::Factory do
context 'when creating a null entry' do
it 'creates a null entry' do
entry = factory
- .with_value(nil)
- .null_node
+ .with(value: nil)
+ .nullify!
.create!
expect(entry).to be_an_instance_of Gitlab::Ci::Config::Node::Null