こんにちは。たいら(@tairaengineer2)です。
転職を繰り返し現在4社経験している、11年目エンジニアです。
この記事では、 Ruby on RailsでRakeタスクの実装について丁寧に解説します。
Rakeタスクを新規作成するコマンドは、以下の記事をご参考ください。
前提条件:実行環境について
実行環境は以下の通りです。
| OS | Windows10 | 
|---|---|
| Rubyのバージョン | 2.6.6 | 
| Ruby on Railsのバージョン | 6.0.3.5 | 
この記事ではRuby on Railsのプロジェクトは
C:\rails_study\sample
に作成しています。

Rakeタスクの実装について解説
Rakeタスクの実装について解説します。
Rakeタスクは、以下のように実装します。
| 1 2 3 4 5 6 | namespace :sample_task do     desc "Hello World"     task :hello do         puts "Hello World"     end end | 
上記サンプルのざっくりとした意味は下記になります。

上記の中で
- namespace
- desc
をピックアップして解説します。
namespaceとは
【namespace】とは、名前空間です。
名前空間を一言で言うとグループ化です。
【namespace】をうまく使って分けると、管理するのがとても楽になります。
ちなみに名前空間は入れ子にすることも可能です。
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | namespace :sample_task do     namespace :child_task do         desc "child"         task :child do             puts "child"         end     end     desc "man"     task :man do         puts "man"     end end | 
descとは
【desc】とは、「description」のことで和訳すると説明です。
意味の通りここにRakeタスクの説明を記載します。
サンプルには英字で記載していますが、日本語もOKです。
作成したRakeタスクを確認する
この記事ではファイル名が【sample_task.rake】で、以下の内容のRakeタスクを作成したとして進めます。
| 1 2 3 4 5 6 | namespace :sample_task do     desc "Hello World"     task :hello do         puts "Hello World"     end     end | 
Rakeタスクの作成が完了したら、正しく定義できているかを確認します。
確認する方法は、railsコマンドを一覧で表示させれば確認できます。
railsコマンドは
| 1 | rails -T | 
です。
詳しくは、こちらの記事をご参考ください。
コマンドをたたいて表示された一覧のなかに

| 1 | rails sample_task:hello                  # Hello World | 
と表示されているので、正しく定義できていることを確認できました。
作成したRakeタスクを実行する
作成したRakeタスクを実行します。
実行するためのコマンドは
| 1 | rails -T | 
で表示されていたコマンドです。
この記事だと
| 1 | rails sample_task:hello | 
をたたくと

| 1 2 | C:\rails_study\sample>rails sample_task:hello Hello World | 
と表示されたので、正しく動くことが確認できました。
まとめ:Ruby on RailsでRakeタスクの実装してみよう
以上がRuby on RailsでRakeタスクの基本の実装の解説でした!
Rakeタスクで他にできることも知りたい、という方はこちらの記事もご参考ください。
【Ruby on Rails】データベースに接続するRakeタスクの実装について解説します
Rakeタスクを中断するやり方
【Ruby on Rails】Rakeタスクを中断するやり方について解説します
あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ
コメント