Class: ActionDispatch::Journey::Visitors::FormatBuilder

Inherits:
Visitor
  • Object
show all
Defined in:
actionpack/lib/action_dispatch/journey/visitors.rb

Overview

:nodoc:

Constant Summary

Constants inherited from Visitor

Visitor::DISPATCH_CACHE

Instance Method Summary collapse

Instance Method Details

#accept(node) ⇒ Object



137
# File 'actionpack/lib/action_dispatch/journey/visitors.rb', line 137

def accept(node); Journey::Format.new(super); end

#binary(node) ⇒ Object



140
141
142
# File 'actionpack/lib/action_dispatch/journey/visitors.rb', line 140

def binary(node)
  visit(node.left) + visit(node.right)
end

#terminal(node) ⇒ Object



138
# File 'actionpack/lib/action_dispatch/journey/visitors.rb', line 138

def terminal(node); [node.left]; end

#visit_GROUP(n) ⇒ Object



144
# File 'actionpack/lib/action_dispatch/journey/visitors.rb', line 144

def visit_GROUP(n); [Journey::Format.new(unary(n))]; end

#visit_STAR(n) ⇒ Object



146
147
148
# File 'actionpack/lib/action_dispatch/journey/visitors.rb', line 146

def visit_STAR(n)
  [Journey::Format.required_path(n.left.to_sym)]
end

#visit_SYMBOL(n) ⇒ Object



150
151
152
153
154
155
156
157
# File 'actionpack/lib/action_dispatch/journey/visitors.rb', line 150

def visit_SYMBOL(n)
  symbol = n.to_sym
  if symbol == :controller
    [Journey::Format.required_path(symbol)]
  else
    [Journey::Format.required_segment(symbol)]
  end
end