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?
Eche un vistazo a la siguiente secuencia de comandos en GitHub http://github.com/vinibaggio/discover-unused-partials
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