##Rakeタスクとは
Rake
とは、Ruby
で書かれたコードをタスク
として作成しておき必要に応じて呼び出し実行する事が出来る機能。
このRake
が実行する処理内容をRakeタスク
と呼び、定義する場所をRakefile
と呼ぶ。
rakeタスク
を利用する場面として、
・何かしらのデータの連携
・データベースのバックアップ
・定期的にデータを更新、削除する
などが挙げられる。
またwhennever
と組み合わせることにより、任意のタイミングで処理を実行することができる。
▷【Rails】wheneverでcronを設定
##Rakeタスクの作り方
Hello
と簡単な挨拶を表示するタスクを作成。
まず最初にタスクファイルを生成する。
$ rails g task ファイル名
↓
$ rails g task greet
上記のコマンドで、lib/tasks
配下にgreet.rake
というファイルが生成されていて、ファイルの中身は以下のようになっている。
lib/tasks/greet.rake
namespace :greet do
end
この中に処理を記入していくことで、定義が完了する。
#基本形
namespace :greet do
desc "タスクの説明" #desc → description(説明)
task task_name: :environment do #task_nameは自由につけられる
# 実行したい処理を記述する場所
end
end
#lib/tasks/greet.rake
namespace :greet do
desc "Helloを表示するタスク"
task say_hello: :environment do
puts "Hello"
end
end
記入し終えたら、タスクが表示されるか確認をする。
$ rake -T #←現在のアプリに定義されているタスク一覧が表示されるコマンド
rake greet:say_hello # Helloを表示するタスク
今度はタスクを実行して確認。Hello
が返ってきたら成功。
$ rake greet:say_hello
Hello
##参考記事
Rakeタスクの実装
【Ruby on Rails】Rakeタスクを使えば様々な処理が自動化出来る?(初心者向け)