ホーム DoRuby Railsの処理の中でRakeのタスクを実行する方法

Railsの処理の中でRakeのタスクを実行する方法

この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。

 今回はRailsの処理の中でRakeのタスクを実行する方法を紹介したいと思います。

 実行したいRakeのタスク名が「hoge:huga」だったとすると以下のコードになります。

Rake::Task.new(‘hoge:huga’, Rake.application).invoke

 基本Rakeのタスクを処理の中で実行するということはほぼないかと思いますが、Rakeのタスクのテストしたい時にテストコードの中で実行できたら便利かと思います。

 Railsの環境は、1.2.6、2.3.8で確認しました。2.3.8の場合は事前に「require ‘rake’」する必要があります。

記事を共有
モバイルバージョンを終了