Class: ActionDispatch::Journey::Routes
- Inherits:
-
Object
- Object
- ActionDispatch::Journey::Routes
- Includes:
- Enumerable
- Defined in:
- lib/action_dispatch/journey/routes.rb
Overview
The Routing table. Contains all routes for a system. Routes can be added to the table by calling Routes#add_route.
Instance Attribute Summary collapse
-
#anchored_routes ⇒ Object
readonly
Returns the value of attribute anchored_routes.
-
#custom_routes ⇒ Object
readonly
Returns the value of attribute custom_routes.
-
#routes ⇒ Object
readonly
Returns the value of attribute routes.
Instance Method Summary collapse
- #add_route(name, mapping) ⇒ Object
- #ast ⇒ Object
- #clear ⇒ Object
- #each(&block) ⇒ Object
- #empty? ⇒ Boolean
-
#initialize ⇒ Routes
constructor
A new instance of Routes.
- #last ⇒ Object
- #length ⇒ Object (also: #size)
- #partition_route(route) ⇒ Object
- #simulator ⇒ Object
Constructor Details
#initialize ⇒ Routes
Returns a new instance of Routes.
10 11 12 13 14 15 16 |
# File 'lib/action_dispatch/journey/routes.rb', line 10 def initialize @routes = [] @ast = nil @anchored_routes = [] @custom_routes = [] @simulator = nil end |
Instance Attribute Details
#anchored_routes ⇒ Object (readonly)
Returns the value of attribute anchored_routes.
8 9 10 |
# File 'lib/action_dispatch/journey/routes.rb', line 8 def anchored_routes @anchored_routes end |
#custom_routes ⇒ Object (readonly)
Returns the value of attribute custom_routes.
8 9 10 |
# File 'lib/action_dispatch/journey/routes.rb', line 8 def custom_routes @custom_routes end |
#routes ⇒ Object (readonly)
Returns the value of attribute routes.
8 9 10 |
# File 'lib/action_dispatch/journey/routes.rb', line 8 def routes @routes end |
Instance Method Details
#add_route(name, mapping) ⇒ Object
63 64 65 66 67 68 69 |
# File 'lib/action_dispatch/journey/routes.rb', line 63 def add_route(name, mapping) route = mapping.make_route name, routes.length routes << route partition_route(route) clear_cache! route end |
#ast ⇒ Object
49 50 51 52 53 54 |
# File 'lib/action_dispatch/journey/routes.rb', line 49 def ast @ast ||= begin asts = anchored_routes.map(&:ast) Nodes::Or.new(asts) unless asts.empty? end end |
#clear ⇒ Object
35 36 37 38 39 |
# File 'lib/action_dispatch/journey/routes.rb', line 35 def clear routes.clear anchored_routes.clear custom_routes.clear end |
#each(&block) ⇒ Object
31 32 33 |
# File 'lib/action_dispatch/journey/routes.rb', line 31 def each(&block) routes.each(&block) end |
#empty? ⇒ Boolean
18 19 20 |
# File 'lib/action_dispatch/journey/routes.rb', line 18 def empty? routes.empty? end |
#last ⇒ Object
27 28 29 |
# File 'lib/action_dispatch/journey/routes.rb', line 27 def last routes.last end |
#length ⇒ Object Also known as: size
22 23 24 |
# File 'lib/action_dispatch/journey/routes.rb', line 22 def length routes.length end |