Commit 49bb2f40 authored by Grzegorz Bizon's avatar Grzegorz Bizon

Improve predefined variables collection methods

parent 19b8ce72
......@@ -1588,17 +1588,16 @@ class Project < ActiveRecord::Base
def predefined_variables
visibility = Gitlab::VisibilityLevel.string_level(visibility_level)
Gitlab::Ci::Variables::Collection.new.tap do |variables|
variables.append(key: 'CI_PROJECT_ID', value: id.to_s)
variables.append(key: 'CI_PROJECT_NAME', value: path)
variables.append(key: 'CI_PROJECT_PATH', value: full_path)
variables.append(key: 'CI_PROJECT_PATH_SLUG', value: full_path_slug)
variables.append(key: 'CI_PROJECT_NAMESPACE', value: namespace.full_path)
variables.append(key: 'CI_PROJECT_URL', value: web_url)
variables.append(key: 'CI_PROJECT_VISIBILITY', value: visibility)
variables.concat(container_registry_variables)
variables.concat(auto_devops_variables)
end
Gitlab::Ci::Variables::Collection.new
.append(key: 'CI_PROJECT_ID', value: id.to_s)
.append(key: 'CI_PROJECT_NAME', value: path)
.append(key: 'CI_PROJECT_PATH', value: full_path)
.append(key: 'CI_PROJECT_PATH_SLUG', value: full_path_slug)
.append(key: 'CI_PROJECT_NAMESPACE', value: namespace.full_path)
.append(key: 'CI_PROJECT_URL', value: web_url)
.append(key: 'CI_PROJECT_VISIBILITY', value: visibility)
.concat(container_registry_variables)
.concat(auto_devops_variables)
end
def container_registry_variables
......
......@@ -11,11 +11,11 @@ module Gitlab
end
def append(resource)
@variables.append(Collection::Item.fabricate(resource))
tap { @variables.append(Collection::Item.fabricate(resource)) }
end
def concat(resources)
resources.each { |variable| self.append(variable) }
tap { resources.each { |variable| self.append(variable) } }
end
def each
......
......@@ -35,6 +35,11 @@ describe Gitlab::Ci::Variables::Collection do
expect(subject).to be_one
end
it 'returns self' do
expect(subject.append(key: 'VAR', value: 'test'))
.to eq subject
end
end
describe '#concat' do
......@@ -60,6 +65,11 @@ describe Gitlab::Ci::Variables::Collection do
expect(collection).to include(key: 'VAR_2', value: '2', public: true)
expect(collection).to include(key: 'VAR_3', value: '3', public: true)
end
it 'returns self' do
expect(subject.concat([key: 'VAR', value: 'test']))
.to eq subject
end
end
describe '#+' do
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment