Class: Cucumber::CucumberExpressions::CucumberExpression
- Inherits:
-
Object
- Object
- Cucumber::CucumberExpressions::CucumberExpression
- Defined in:
- lib/cucumber/cucumber_expressions/cucumber_expression.rb
Constant Summary collapse
- ESCAPE_PATTERN =
/([\\^\[({$.|?*+})\]])/.freeze
Instance Method Summary collapse
-
#initialize(expression, parameter_type_registry) ⇒ CucumberExpression
constructor
A new instance of CucumberExpression.
- #match(text) ⇒ Object
- #regexp ⇒ Object
- #source ⇒ Object
- #to_s ⇒ Object
Constructor Details
#initialize(expression, parameter_type_registry) ⇒ CucumberExpression
Returns a new instance of CucumberExpression.
13 14 15 16 17 18 19 20 21 |
# File 'lib/cucumber/cucumber_expressions/cucumber_expression.rb', line 13 def initialize(expression, parameter_type_registry) @expression = expression @parameter_type_registry = parameter_type_registry @parameter_types = [] parser = CucumberExpressionParser.new ast = parser.parse(expression) pattern = rewrite_to_regex(ast) @tree_regexp = TreeRegexp.new(pattern) end |
Instance Method Details
#match(text) ⇒ Object
23 24 25 |
# File 'lib/cucumber/cucumber_expressions/cucumber_expression.rb', line 23 def match(text) Argument.build(@tree_regexp, text, @parameter_types) end |
#regexp ⇒ Object
31 32 33 |
# File 'lib/cucumber/cucumber_expressions/cucumber_expression.rb', line 31 def regexp @tree_regexp.regexp end |
#source ⇒ Object
27 28 29 |
# File 'lib/cucumber/cucumber_expressions/cucumber_expression.rb', line 27 def source @expression end |
#to_s ⇒ Object
35 36 37 |
# File 'lib/cucumber/cucumber_expressions/cucumber_expression.rb', line 35 def to_s source.inspect end |