[RUBY] Output Rails Routes als CSV

Was hast du geschrieben

So geben Sie die Rails-Routenliste im CSV-Format aus

→ Wenn Sie eine neue Organisation kennenlernen, können Sie sie verwenden, wenn Sie das Routing verfolgen und das Ganze aus der Vogelperspektive betrachten und die Informationen in SpreadSheet usw. systematisch zusammenfassen möchten.

Wie macht man

Referenzquelle

Siehe Implementierung von Schienenrouten https://github.com/rails/rails/blob/5ccdd0bb6d1262a670645ddf3a9e334be4545dac/railties/lib/rails/tasks/routes.rake

Trainieren

Schneiden Sie einen geeigneten Ast

Aufgabe erstellen

$ bundle exec rails g task route_formatter csv

lib/tasks/route_formatter.rake


namespace :route_formatter do
  desc "get route as csv format"
  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, ENV['CONTROLLER'])
  end

end

Lauf

bin/rails route_formatter:csv
bin/rails route_formatter:csv | pbcopy

Referenzlink

Recommended Posts

Output Rails Routes als CSV
[Ruby on Rails] CSV-Ausgabefunktion
So geben Sie die von Rails erstellte CSV in S3 aus
Ausgabe einer CSV-Datei mit offener CSV
Wie man Schienenrouten liest
Unterstützt 0 Abfall der CSV-Ausgabe
CSV-Ausgabeverarbeitung mit Super-CSV
[Rails] Implementierung der CSV-Importfunktion
Erläuterung der Reihenfolge der Schienenrouten
[Rails] Implementierung der CSV-Exportfunktion
Implementieren Sie die CSV-Download-Funktion in Rails