はじめに
Railsでコードを書いているときにメソッドの有無や定義場所を調べたい!となることがあったので、方法をまとめておきます。
メソッドの一覧を確認する
メソッドの一覧はmethods
メソッドで確認できます。
使用可能なメソッドがシンボルの配列として返ってきます。
[1] pry(main)> user = UserController.new()
=> #<UserController:0x000000000069a0>
[2] pry(main)> user.methods
=> [:index,
:show,
:create,
:update,
# ~省略~
メソッドの定義場所を確認する
method
メソッドとMetho#source_location
メソッドで確認できます。
0番目の要素に定義ファイルの絶対パスが、1番目に行数が入った配列が返ってきます。
[3] pry(main)> user.method(:index).source_location
=> ["/home/user/workspace/sample_app/app/controllers/users_controller.rb", 5]