Paul Robert Lloyd
3 years ago
1 changed files with 35 additions and 0 deletions
@ -0,0 +1,35 @@ |
|||||||
|
namespace :route_formatter do |
||||||
|
desc "Export routes as CSV" |
||||||
|
task csv: :environment do |t| |
||||||
|
class CSVFormatter |
||||||
|
def initialize |
||||||
|
@buffer= [] |
||||||
|
end |
||||||
|
|
||||||
|
def result |
||||||
|
@buffer.join("\n") |
||||||
|
end |
||||||
|
|
||||||
|
def section_title(title) |
||||||
|
end |
||||||
|
|
||||||
|
def section(routes) |
||||||
|
routes.each do |r| |
||||||
|
@buffer << [r[:name], r[:verb], r[:path], r[:reqs]].join(",") |
||||||
|
end |
||||||
|
end |
||||||
|
|
||||||
|
def header(routes) |
||||||
|
@buffer << %w"Prefix Verb URI_Pattern Controller#Action".join(",") |
||||||
|
end |
||||||
|
|
||||||
|
def no_routes |
||||||
|
@buffer << "" |
||||||
|
end |
||||||
|
end |
||||||
|
require "action_dispatch/routing/inspector" |
||||||
|
all_routes = Rails.application.routes.routes |
||||||
|
inspector = ActionDispatch::Routing::RoutesInspector.new(all_routes) |
||||||
|
puts inspector.format(CSVFormatter.new) |
||||||
|
end |
||||||
|
end |
Loading…
Reference in new issue