diff options
author | Grzegorz Bizon <grzesiek.bizon@gmail.com> | 2016-06-13 09:14:23 +0200 |
---|---|---|
committer | Grzegorz Bizon <grzesiek.bizon@gmail.com> | 2016-06-13 09:58:35 +0200 |
commit | 11c0d022835cafc1d52e18580d0e1523a83bbdd2 (patch) | |
tree | 4c3afc2fda74c7c0b092117a84cb4285b9ed56e6 | |
parent | 7c8f3b0cfc38838755a21641e402b3ef7a1f9d0b (diff) | |
download | gitlab-ce-11c0d022835cafc1d52e18580d0e1523a83bbdd2.tar.gz |
Simplify ci config node factory
-rw-r--r-- | lib/gitlab/ci/config/node/configurable.rb | 6 | ||||
-rw-r--r-- | lib/gitlab/ci/config/node/factory.rb | 11 | ||||
-rw-r--r-- | spec/lib/gitlab/ci/config/node/factory_spec.rb | 10 |
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 |