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