class Journey::Visitors::Formatter
Used for formatting urls (url_for)
Attributes
consumed[R]
options[R]
Public Class Methods
new(options)
click to toggle source
# File lib/journey/visitors.rb, line 84 def initialize options @options = options @consumed = {} end
Private Instance Methods
binary(node)
click to toggle source
# File lib/journey/visitors.rb, line 103 def binary node [visit(node.left), visit(node.right)].join end
nary(node)
click to toggle source
# File lib/journey/visitors.rb, line 107 def nary node node.children.map { |c| visit c }.join end
terminal(node)
click to toggle source
# File lib/journey/visitors.rb, line 99 def terminal node node.left end
visit_GROUP(node)
click to toggle source
# File lib/journey/visitors.rb, line 90 def visit_GROUP node if consumed == options nil else route = visit node.left route.include?("\0") ? nil : route end end
visit_SYMBOL(node)
click to toggle source
# File lib/journey/visitors.rb, line 111 def visit_SYMBOL node key = node.to_sym if value = options[key] consumed[key] = value Router::Utils.escape_path(value) else "\0" end end