Class: Gitlab::Ci::Pipeline::Expression::Lexeme::String

Inherits:
Value
  • Object
show all
Defined in:
lib/gitlab/ci/pipeline/expression/lexeme/string.rb

Constant Summary collapse

PATTERN =
/("(?<string>.*?)")|('(?<string>.*?)')/.freeze

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Value

type

Methods inherited from Base

consume?, #name, pattern, scan

Constructor Details

#initialize(value) ⇒ String

Returns a new instance of String.


11
12
13
# File 'lib/gitlab/ci/pipeline/expression/lexeme/string.rb', line 11

def initialize(value)
  super(value)
end

Class Method Details

.build(string) ⇒ Object


23
24
25
# File 'lib/gitlab/ci/pipeline/expression/lexeme/string.rb', line 23

def self.build(string)
  new(string.match(PATTERN)[:string])
end

Instance Method Details

#evaluate(variables = {}) ⇒ Object


15
16
17
# File 'lib/gitlab/ci/pipeline/expression/lexeme/string.rb', line 15

def evaluate(variables = {})
  @value.to_s
end

#inspectObject


19
20
21
# File 'lib/gitlab/ci/pipeline/expression/lexeme/string.rb', line 19

def inspect
  @value.inspect
end