これは何?
Rails console で rake を実行する方法について調べました。
確認環境
$ rails --version
Rails 6.0.4.6
事前準備
ファイル生成
$ rails g task sample
create lib/tasks/sample.rake
lib/tasks/sample.rake 編集
namespace :sample do
desc 'my description'
task :hoge do
p 'hogehoge...'
end
end
task が作成されたことを確認
$ rake -T | grep sample
rake sample:hoge # my description
動作確認
rake コマンドで実行
$ rake sample:hoge
"hogehoge..."
Rails console から実行
$ rails c
Loading development environment (Rails 6.0.4.6)
irb(main):001:0> Rails.application.load_tasks
irb(main):002:0> Rake::Task['sample:hoge'].execute
"hogehoge..."
おわりに
例だけ見ると、どちらで確認しても大差ない気がします。
taskの中で使われてるメソッドを実行しながら確認したいときなどは、Rails console で確認できると便利かもしれません。