Rails の rake assets:precompile
のソースが見たかったので、調べてみた。
irb (pry でも可) 起動。
$ irb
load で Rakefile を読み込む。
require "rake"
load "Rakefile"
あとは、
- Rake::Task.[] でタスク名からタスクを探して
- actions メソッドで実行される Proc の配列を取得し
- source_location で定義した場所を得る
Rake::Task["assets:precompile"].actions.map(&:source_location)
これは Rails アプリケーションの例だが、もちろんそれ以外でも使える。
ちなみに Rake::Task.tasks
で、定義されたタスクの一覧を確認することができる。