class Cucumber::CucumberExpressions::AmbiguousParameterTypeError

Public Class Methods

new(parameter_type_regexp, expression_regexp, parameter_types, generated_expressions) click to toggle source
Calls superclass method
# File lib/cucumber/cucumber_expressions/errors.rb, line 205
      def initialize(parameter_type_regexp, expression_regexp, parameter_types, generated_expressions)
        super(<<~ERROR)
          Your Regular Expression /#{expression_regexp.source}/
          matches multiple parameter types with regexp /#{parameter_type_regexp}/:
             #{parameter_type_names(parameter_types)}

          I couldn't decide which one to use. You have two options:

          1) Use a Cucumber Expression instead of a Regular Expression. Try one of these:
             #{expressions(generated_expressions)}

          2) Make one of the parameter types preferential and continue to use a Regular Expression.

        ERROR
      end

Private Instance Methods

expressions(generated_expressions) click to toggle source
# File lib/cucumber/cucumber_expressions/errors.rb, line 227
def expressions(generated_expressions)
  generated_expressions.map { |ge| ge.source }.join("\n   ")
end
parameter_type_names(parameter_types) click to toggle source
# File lib/cucumber/cucumber_expressions/errors.rb, line 223
def parameter_type_names(parameter_types)
  parameter_types.map { |p| "{#{p.name}}" }.join("\n   ")
end