rails uygulamanızda bulunan tum controllerin isimleri için:
Dir[Rails.root.join('app/controllers/*_controller.rb')].map { |path| (path.match(/(\w+)_controller.rb/); $1).camelize+"Controller" }
Bir controllerda bulunan methodlar için:
PostController.action_methods
Burada PostController ın type bilgisi class turundedir.
Uygulamanızdaki tum methodların listesi için
@method_list=[]
@controller= Dir[Rails.root.join('app/controllers/*_controller.rb')].map { |path|
(path.match(/(\w+)_controller.rb/); $1).camelize+"Controller" }
@controller.each do |cont|
@methods.constantize.action_methods.each do |met|
method_list<<met
end
end
constantize' yi koymamızın nedeni cont bilgisinin type bilgisinin string gelmesi. constantize ile type bilgisini class türüne çeviriyoruz.