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| raise AlternativeMayNotBeEmpty.new(alternative, @expression) if alternative.nodes.length == 0 assert_not_empty(alternative) { |ast_node| raise AlternativeMayNotExclusivelyContainOptionals.new(ast_node, @expression) } } regex = node.nodes.map { |n| rewrite_to_regex(n) }.join('|') "(?:#{regex})" end