Class: Chusaku::Routes
- Inherits:
-
Object
- Object
- Chusaku::Routes
- Defined in:
- lib/chusaku/routes.rb
Overview
Handles extracting information about the Rails project’s routes.
Class Method Summary collapse
-
.call ⇒ Hash
Primary method to call.
Class Method Details
.call ⇒ Hash
Primary method to call.
Example output:
{
"users" => {
"edit" => [
{verb: "GET", path: "/users/:id", name: "edit_user"}
],
"update" => [
{verb: "PATCH", path: "/users", name: "edit_user"},
{verb: "PUT", path: "/users", name: "edit_user"}
]
},
"empanadas" => {
"create" => [
{verb: "POST", path: "/empanadas", name: nil}
]
}
}
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/chusaku/routes.rb', line 27 def call routes = {} Rails.application.routes.routes.each do |route| controller, action, defaults = extract_data_from(route) routes[controller] ||= {} routes[controller][action] ||= [] add_info_for \ route: route, routes: routes, controller: controller, action: action, defaults: defaults end backfill_routes(routes) end |