Class: Cucumber::CucumberExpressions::ArgumentMatcher

Inherits:
Object
  • Object
show all
Defined in:
lib/cucumber/cucumber_expressions/argument_matcher.rb

Class Method Summary collapse

Class Method Details

.match_arguments(regexp, text, transforms) ⇒ Object



6
7
8
9
10
11
12
13
14
15
# File 'lib/cucumber/cucumber_expressions/argument_matcher.rb', line 6

def self.match_arguments(regexp, text, transforms)
  m = regexp.match(text)
  return nil if m.nil?
  (1...m.length).map do |index|
    value = m[index]
    transform = transforms[index-1]
    transformed_value = transform.transform(value)
    Argument.new(m.offset(index)[0], value, transformed_value)
  end
end