class ActionDispatch::Journey::Visitors::Formatter
:nodoc:
Used for formatting urls (url_for)
def binary(node)
def binary(node) [visit(node.left), visit(node.right)].join end
def initialize(options)
def initialize(options) @options = options @consumed = {} end
def nary(node)
def nary(node) node.children.map { |c| visit(c) }.join end
def terminal(node)
def terminal(node) node.left end
def visit_GROUP(node)
def visit_GROUP(node) if consumed == options nil else route = visit(node.left) route.include?("\0") ? nil : route end end
def visit_SYMBOL(node)
def visit_SYMBOL(node) key = node.to_sym if value = options[key] consumed[key] = value Router::Utils.escape_path(value) else "\0" end end