Rakeタスクってなに
タスクってなに、、、「やること」っていう意味かな。はじめて聞いた時はそう考えましたが、調べてみるとRuby on Railsにはタスクというものが存在するらしい。
Rakeタスクとは
このタスクという機能は、いちいちアプリケーションを立ち上げるなくてもターミナルから任意の処理を実行することができるものらしい。自分が携わっているアプリケーションでは、開発段階でサンプルのデータが必要だったので、それをこのタスクというものを使って作成した。
タスクを作成してみる
rails g task sample
これでsample.rake
というタスクに関するファイルを作成する。
lib/tasks
にsample.taskという名前のファイルを作成。
namespace :greet do
end
作成したファイルには、デフォルトで上のようなコードが書かれている。
この中を自分がタスクとして行いたい処理をコマンド一つで実行されるように書いていく。
# タスク名前を書く。
namespace :sample do
# タスクの説明を書く。 desc => description(説明)
desc ""
# db => タスクの名前を書く。
task db: :environment do
# 実行したい処理を記述する場所
end
end
上から、、、、
●名前を書く → namespace
●タスクの説明 →desc
●タスクの名前 → task db: 上の例だと db がそう。
namespace :sample do
desc "ゴリラと表示するタスク"
task gorira: :environment do
puts "ゴリラ"
end
end
作成したタスクがきちんと動作するか確認をしてみる。
rails sample:gorira
↓
ゴリラ
これでrake タスクの完成。