Improve naming and optimize methods of the build class

This commit is contained in:
Grzegorz Bizon 2018-03-30 10:32:28 +02:00
parent 1cc96d7a62
commit 0a203f4087
2 changed files with 13 additions and 7 deletions

View File

@ -289,7 +289,9 @@ module Ci
# Variables that do not depend on the environment name.
#
def simple_variables
scoped_variables(environment: nil).to_runner_variables
strong_memoize(:simple_variables) do
scoped_variables(environment: nil).to_runner_variables
end
end
##
@ -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

View File

@ -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