summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGrzegorz Bizon <grzesiek.bizon@gmail.com>2018-02-21 16:54:29 +0100
committerGrzegorz Bizon <grzesiek.bizon@gmail.com>2018-02-21 16:54:29 +0100
commitd532a9cb2fb7d1ff4c1369ec06701edb536d39c1 (patch)
treeae14a827e008885e667ac033e614f6f12bee2fb1
parent35354826b11c69b1fc69100838727d473dfd9e9d (diff)
downloadgitlab-ce-d532a9cb2fb7d1ff4c1369ec06701edb536d39c1.tar.gz
Add variables to pipeline expressions evaluator
-rw-r--r--lib/gitlab/ci/pipeline/expression/statement.rb5
-rw-r--r--spec/lib/gitlab/ci/pipeline/expression/statement_spec.rb4
2 files changed, 8 insertions, 1 deletions
diff --git a/lib/gitlab/ci/pipeline/expression/statement.rb b/lib/gitlab/ci/pipeline/expression/statement.rb
index 339bef66c45..21bd5414467 100644
--- a/lib/gitlab/ci/pipeline/expression/statement.rb
+++ b/lib/gitlab/ci/pipeline/expression/statement.rb
@@ -17,7 +17,10 @@ module Gitlab
def initialize(statement, pipeline)
@pipeline = pipeline
@lexer = Expression::Lexer.new(statement)
- @variables = pipeline.variables # TODO
+
+ @variables = pipeline.variables.map do |variable|
+ { variable.key => variable.value }
+ end
end
def tokens
diff --git a/spec/lib/gitlab/ci/pipeline/expression/statement_spec.rb b/spec/lib/gitlab/ci/pipeline/expression/statement_spec.rb
index 3d714a64a12..f7695a28ea6 100644
--- a/spec/lib/gitlab/ci/pipeline/expression/statement_spec.rb
+++ b/spec/lib/gitlab/ci/pipeline/expression/statement_spec.rb
@@ -8,6 +8,10 @@ describe Gitlab::Ci::Pipeline::Expression::Statement do
described_class.new(text, pipeline)
end
+ before do
+ pipeline.variables.build([key: 'VARIABLE', value: 'my variable'])
+ end
+
describe '#tokens' do
it 'returns raw tokens' do
expect(subject.tokens.size).to eq 2