Ruby

Rakeタスクの定義元ファイル名と行番号を一瞬で把握する

例えば Railsのdb:migrateとかのコードだったり、沢山ある独自タスクをパッと調べたい時に便利なやつ。

実行例

$ rake -g source_list

about   <your_gem_file_path>/railties-5.2.0/lib/rails/tasks/misc.rake:10
db:migrate      <your_gem_dir>/activerecord-5.2.0/lib/active_record/railties/databases.rake:59
db:migrate:down <your_gem_dir>/activerecord-5.2.0/lib/active_record/railties/databases.rake:110
db:migrate:redo <your_gem_dir>/activerecord-5.2.0/lib/active_record/railties/databases.rake:81
db:migrate:status       <your_gem_dir>/activerecord-5.2.0/lib/active_record/railties/databases.rake:123
db:migrate:up   <your_gem_dir>/activerecord-5.2.0/lib/active_record/railties/databases.rake:97

この例だと、db:migrateタスクは databases.rake の59行目に定義されていることになります。

インストール方法

下記のスクリプトを、${HOME}/.rake directoryに置き、rakeタスクに-gオプションを付与することで、ディレクトリ以下のタスクが読み込まれ、実行できるようになります。
https://gist.github.com/tkyowa/f41fef9150fccc3217ab