[RUBY] Routes de rails de sortie en tant que csv

Qu'as-tu écrit

Comment afficher la liste des routes Rails au format csv

→ Lors du rattrapage d'une nouvelle organisation, il peut être utilisé lorsque vous souhaitez tracer à partir du routage et avoir une vue d'ensemble de l'ensemble, et que vous souhaitez systématiquement résumer les informations dans SpreadSheet etc.

Comment faire

Source de référence

Voir l'implémentation des voies ferrées https://github.com/rails/rails/blob/5ccdd0bb6d1262a670645ddf3a9e334be4545dac/railties/lib/rails/tasks/routes.rake ――Il semble bon de regrouper toutes les informations de Route dans ʻinspector et de les formater avec .format () . --Il semble bon de créer votre propre formateur en imitant l'implémentation de ConsoleFormatter`

Entraine toi

Coupez une branche appropriée

Créer une tâche

$ 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

Courir

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

Lien de référence

Recommended Posts

Routes de rails de sortie en tant que csv
[Ruby on Rails] Fonction de sortie CSV
Comment sortir le CSV créé par Rails vers S3
Sortie de fichier csv avec csv ouvert
Comment lire les itinéraires des rails
Sortie CSV par Apache Commons CSV
Prend en charge 0 baisse dans la sortie CSV
Traitement de la sortie CSV avec Super-CSV
[Rails] Implémentation de la fonction d'importation CSV
Explication de l'ordre des itinéraires ferroviaires
[Rails] Implémentation de la fonction d'exportation CSV
Implémenter la fonction de téléchargement CSV dans Rails