Commit 0a203f40 authored by Grzegorz Bizon's avatar Grzegorz Bizon

Improve naming and optimize methods of the build class

parent 1cc96d7a
......@@ -289,8 +289,10 @@ module Ci
# Variables that do not depend on the environment name.
#
def simple_variables
strong_memoize(:simple_variables) do
scoped_variables(environment: nil).to_runner_variables
end
end
##
# All variables, including persisted environment variables.
......@@ -303,7 +305,11 @@ module Ci
.to_runner_variables
end
def variables_hash
##
# Regular Ruby hash of scoped variables, without duplicates that are
# possible to be present in an array of hashes returned from `variables`.
#
def scoped_variables_hash
scoped_variables.to_hash
end
......
......@@ -2070,7 +2070,7 @@ describe Ci::Build do
end
end
describe '#variables_hash' do
describe '#scoped_variables_hash' do
context 'when overriding secret variables' do
before do
project.variables.create!(key: 'MY_VAR', value: 'my value 1')
......@@ -2078,8 +2078,8 @@ describe Ci::Build do
end
it 'returns a regular hash created using valid ordering' do
expect(build.variables_hash).to include('MY_VAR': 'my value 2')
expect(build.variables_hash).not_to include('MY_VAR': 'my value 1')
expect(build.scoped_variables_hash).to include('MY_VAR': 'my value 2')
expect(build.scoped_variables_hash).not_to include('MY_VAR': 'my value 1')
end
end
......@@ -2090,8 +2090,8 @@ describe Ci::Build do
end
it 'returns a hash including variable with higher precedence' do
expect(build.variables_hash).to include('MY_VAR': 'pipeline value')
expect(build.variables_hash).not_to include('MY_VAR': 'myvar')
expect(build.scoped_variables_hash).to include('MY_VAR': 'pipeline value')
expect(build.scoped_variables_hash).not_to include('MY_VAR': 'myvar')
end
end
end
......
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