Я написал скрипт для поиска неиспользуемых частичек / просмотров. Я предположил, однако, что «неиспользованный» означает, что присутствует файл представления, для которого не определен метод контроллера (больше). Скрипт не проверяет, вызывается ли представление, потому что на него нет ссылки из маршрута по умолчанию. Это было бы гораздо сложнее.
Поместите следующий скрипт в папку скриптов приложения:
#!/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
Это своего рода хакерский и незаконченный, но он выполняет свою работу - по крайней мере, для меня.
Выполните это так (вам нужно только изменить бит выполнения в первый раз с помощью chmod):
chmod +x script/script_name
./script/script_name
Наслаждайтесь!