class Cucumber::CucumberExpressions::CucumberExpression
def rewrite_alternation(node)
def rewrite_alternation(node) # Make sure the alternative parts aren't empty and don't contain parameter types node.nodes.each { |alternative| if alternative.nodes.length == 0 raise AlternativeMayNotBeEmpty.new(alternative, @expression) end assert_not_empty(alternative) { |astNode| raise AlternativeMayNotExclusivelyContainOptionals.new(astNode, @expression) } } regex = node.nodes.map { |n| rewrite_to_regex(n) }.join('|') "(?:#{regex})" end