rails elaborando crear con apis ruby-on-rails ruby

elaborando - Encontrar vistas/parciales no utilizados en Ruby on Rails



ruby on rails api rest (4)

Itere a través de sus parciales, grep (o awk) el proyecto para el nombre del archivo. Ajuste su expresión regular de búsqueda para buscar "render: parcial" al comienzo de la línea para parciales genéricos (por ejemplo, "_form").

Actualmente estoy trabajando en un gran proyecto de Ruby on Rails. Tiene la edad suficiente y es lo suficientemente grande para que no quede claro si todas las vistas están realmente en uso.

¿Hay alguna secuencia de comandos / complemento que pueda generar una lista de archivos de vista no utilizados?



Escribí un script para encontrar parciales / vistas sin usar. Supuse, sin embargo, que "sin usar" significa que hay presente un archivo de vista para el cual no se define ningún método de controlador (ninguno más). La secuencia de comandos no comprueba si se llama a la vista porque no hay un enlace desde la ruta predeterminada a ella. Esto hubiera sido mucho más complejo.

Coloque la siguiente secuencia de comandos en la carpeta de scripts de la aplicación:

#!/usr/bin/env ruby require ''config/environment'' (Dir[''app/controllers/*.rb''] - [''app/controllers/application.rb'']).each do |c| require c base = File.basename(c, ''.rb'') views = Hash.new Dir["app/views/#{base.split(''_'')[0]}/*"].each do |v| views.store(File.basename(v).split(''.'')[0], v) end unused_views = views.keys - Object.const_get(base.camelcase).public_instance_methods - ApplicationController.public_instance_methods puts "Unused views for #{base.camelcase}:" if unused_views.size > 0 unused_views.each { |v| puts views[v] } end

Es un poco hackish e inacabado, pero cumple su función, al menos para mí.

Ejecútelo así (solo necesita cambiar el bit de ejecución la primera vez con chmod):

chmod +x script/script_name ./script/script_name

¡Disfrutar!


Simplemente instale y ejecute la gema discover-unused-partials :

gem install discover-unused-partials discover-unused-partials rails_root_directory