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