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 85 def initialize options @options = options @consumed = {} end
Private Instance Methods
binary(node)
click to toggle source
# File lib/journey/visitors.rb, line 104 def binary node [visit(node.left), visit(node.right)].join end
nary(node)
click to toggle source
# File lib/journey/visitors.rb, line 108 def nary node node.children.map { |c| visit c }.join end
terminal(node)
click to toggle source
# File lib/journey/visitors.rb, line 100 def terminal node node.left end
visit_GROUP(node)
click to toggle source
# File lib/journey/visitors.rb, line 91 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 112 def visit_SYMBOL node key = node.to_sym if value = options[key] consumed[key] = value Router::Utils.escape_path(value) else "\0" end end