⚙️

RakeタスクでHelloWorldを表示

2021/10/04に公開

目的

Railsにて簡単なRakeタスクを学習

新規の技術・機能の概要

Rakeとは?
Rubyで記述されたビルドツール
学習アプリに実装する機能
RailsにてRakeタスク「HelloWorld」(ターミナルにHelloWorldを表示)を実装します。
対象Version
Rails:5.2.6

実装方法

RakeでHelloWorld

terminal
# 新しいRailsアプリ「task_rake」を作成
rails new task_rake
cd task_rake
terminal
# Rakeタスク「task_sample」を作成
rails g task task_sample
lib/tasks/task_sample.rake
# 下記のようなファイルが作成されることを確認
namespace :task_sample do
end
lib/tasks/task_sample.rake
# 下記に編集
namespace :task_sample do
+    # descにはrakeタスクの説明を記載
+    desc "Hello Worldを表示"
+    task :sample do
+      puts "Hello World"
+    end
end
terminal
# 下記のコマンドを実行、ズラズラと出力結果が表示される。
rake -vT
(省略)
rake task_sample:sample                 # Hello Worldを表示
(省略)
terminal
# Hello Worldが表示されることを確認
rake task_sample:sample
Hello World

モデルにアクセスする場合は :environment を指定します

lib/tasks/task_sample.rake
namespace :task_sample do
  desc "task_sample_use_model"
+ task :task_model => :environment do
    puts User.first().to_yaml  #Userモデルを参照する!
  end
end

参考サイト・資料

Railsドキュメント:Rakeとは
Railsガイド:カスタムRake
Qiita:RailsでRakeタスクの作成

Discussion