--- !ruby/object:RI::ClassDescription 
attributes: 
- !ruby/object:RI::Attribute 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: A block that will be run around route matching. This block must yield in order for the actual matching to happen.
  - !ruby/struct:SM::Flow::P 
    body: ":api: plugin"
  name: around_match
  rw: RW
- !ruby/object:RI::Attribute 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: A hash containing all the named application routes. The names are absolute (as in, all routes named in a namespace will contain the name of the namespace).
  - !ruby/struct:SM::Flow::P 
    body: ":api: private"
  name: named_routes
  rw: RW
- !ruby/object:RI::Attribute 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "A hash of all the application resource routes. The key of the hash is an array with each element containing the &quot;path&quot; for the resource for example, given the following resource routes:"
  - !ruby/struct:SM::Flow::P 
    body: resources :users do
  - !ruby/struct:SM::Flow::VERB 
    body: "  resources :comments\n"
  - !ruby/struct:SM::Flow::P 
    body: end
  - !ruby/struct:SM::Flow::P 
    body: The show comment route will have a key of [&quot;User&quot;, &quot;Comment&quot;]
  - !ruby/struct:SM::Flow::P 
    body: ":api: private"
  name: resource_routes
  rw: RW
- !ruby/object:RI::Attribute 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: The starting point for route definition. Any route defined in a Merb::Router.prepare block will defined in context of this behavior.
  - !ruby/struct:SM::Flow::H 
    level: 4
    text: Examples
  - !ruby/struct:SM::Flow::P 
    body: Merb::Router.root_behavior = Merb::Router.root_bavior.match(&quot;/hello&quot;)
  - !ruby/struct:SM::Flow::P 
    body: In the previous example, all routes will have the path prefix /hello. It is important to note that this attribute must be set before any routes are defined in order for the behavior to be applied to the routes.
  - !ruby/struct:SM::Flow::P 
    body: ":api: plugin"
  name: root_behavior
  rw: RW
- !ruby/object:RI::Attribute 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: An array containing all the application routes in order of priority.
  - !ruby/struct:SM::Flow::P 
    body: ":api: private"
  name: routes
  rw: RW
class_methods: 
- !ruby/object:RI::MethodSummary 
  name: extensions
- !ruby/object:RI::MethodSummary 
  name: prepare
- !ruby/object:RI::MethodSummary 
  name: reset!
- !ruby/object:RI::MethodSummary 
  name: resource
- !ruby/object:RI::MethodSummary 
  name: route_for
- !ruby/object:RI::MethodSummary 
  name: url
comment: 
- !ruby/struct:SM::Flow::P 
  body: Router stores route definitions and finds the first route that matches the incoming request URL.
- !ruby/struct:SM::Flow::P 
  body: Then information from route is used by dispatcher to call action on the controller.
- !ruby/struct:SM::Flow::H 
  level: 4
  text: Routes compilation.
- !ruby/struct:SM::Flow::P 
  body: The most interesting method of Router (and heart of route matching machinery) is match method generated on the fly from routes definitions. It is called routes compilation. Generated match method body contains one if/elsif statement that picks the first matching route definition and sets values to named parameters of the route.
- !ruby/struct:SM::Flow::P 
  body: Compilation is synchronized by mutex.
constants: []

full_name: Merb::Router
includes: []

instance_methods: []

name: Router
superclass: Object
