diff options
author | Grzegorz Bizon <grzesiek.bizon@gmail.com> | 2018-05-15 13:04:18 +0200 |
---|---|---|
committer | Grzegorz Bizon <grzesiek.bizon@gmail.com> | 2018-05-15 13:04:18 +0200 |
commit | 65f4e7b2a1fe8946109c7aa0d59999bfaaeba257 (patch) | |
tree | bd63b0f5c65d02f4f6d90a2fd253265a0e33f895 /lib/gitlab/ci/pipeline/expression/lexeme | |
parent | 475d2edf04c13c6a5ed2b5c68d75efd2a8024c2b (diff) | |
download | gitlab-ce-65f4e7b2a1fe8946109c7aa0d59999bfaaeba257.tar.gz |
Add support for pattern matching in variables expressions
Diffstat (limited to 'lib/gitlab/ci/pipeline/expression/lexeme')
-rw-r--r-- | lib/gitlab/ci/pipeline/expression/lexeme/matches.rb | 2 | ||||
-rw-r--r-- | lib/gitlab/ci/pipeline/expression/lexeme/pattern.rb | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/lib/gitlab/ci/pipeline/expression/lexeme/matches.rb b/lib/gitlab/ci/pipeline/expression/lexeme/matches.rb index 806f2082227..10957598f76 100644 --- a/lib/gitlab/ci/pipeline/expression/lexeme/matches.rb +++ b/lib/gitlab/ci/pipeline/expression/lexeme/matches.rb @@ -15,7 +15,7 @@ module Gitlab text = @left.evaluate(variables) regexp = @right.evaluate(variables) - regexp.scan(text).any? + regexp.scan(text.to_s).any? end def self.build(_value, behind, ahead) diff --git a/lib/gitlab/ci/pipeline/expression/lexeme/pattern.rb b/lib/gitlab/ci/pipeline/expression/lexeme/pattern.rb index 59b8e4fad4c..f7b12914249 100644 --- a/lib/gitlab/ci/pipeline/expression/lexeme/pattern.rb +++ b/lib/gitlab/ci/pipeline/expression/lexeme/pattern.rb @@ -3,6 +3,8 @@ module Gitlab module Pipeline module Expression module Lexeme + require_dependency 're2' + class Pattern < Lexeme::Value PATTERN = %r{/(?<regexp>.+)/}.freeze |