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

Improve naming and optimize methods of the build class

parent 1cc96d7a
...@@ -289,7 +289,9 @@ module Ci ...@@ -289,7 +289,9 @@ module Ci
# Variables that do not depend on the environment name. # Variables that do not depend on the environment name.
# #
def simple_variables def simple_variables
scoped_variables(environment: nil).to_runner_variables strong_memoize(:simple_variables) do
scoped_variables(environment: nil).to_runner_variables
end
end end
## ##
...@@ -303,7 +305,11 @@ module Ci ...@@ -303,7 +305,11 @@ module Ci
.to_runner_variables .to_runner_variables
end 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 scoped_variables.to_hash
end end
......
...@@ -2070,7 +2070,7 @@ describe Ci::Build do ...@@ -2070,7 +2070,7 @@ describe Ci::Build do
end end
end end
describe '#variables_hash' do describe '#scoped_variables_hash' do
context 'when overriding secret variables' do context 'when overriding secret variables' do
before do before do
project.variables.create!(key: 'MY_VAR', value: 'my value 1') project.variables.create!(key: 'MY_VAR', value: 'my value 1')
...@@ -2078,8 +2078,8 @@ describe Ci::Build do ...@@ -2078,8 +2078,8 @@ describe Ci::Build do
end end
it 'returns a regular hash created using valid ordering' do it 'returns a regular hash created using valid ordering' do
expect(build.variables_hash).to include('MY_VAR': 'my value 2') expect(build.scoped_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).not_to include('MY_VAR': 'my value 1')
end end
end end
...@@ -2090,8 +2090,8 @@ describe Ci::Build do ...@@ -2090,8 +2090,8 @@ describe Ci::Build do
end end
it 'returns a hash including variable with higher precedence' do it 'returns a hash including variable with higher precedence' do
expect(build.variables_hash).to include('MY_VAR': 'pipeline value') expect(build.scoped_variables_hash).to include('MY_VAR': 'pipeline value')
expect(build.variables_hash).not_to include('MY_VAR': 'myvar') expect(build.scoped_variables_hash).not_to include('MY_VAR': 'myvar')
end end
end 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