LoginSignup
0
0

More than 1 year has passed since last update.

ワンライナーとrake task

Posted at

ワンライナーとは一行で書かれたコードや、一行で書かれたコマンドの組み合わせのことです。

例えばif分などを使わず、三項演算子で書くなど一行で収まるようにしたコードや、

rake db:migrate など一行で書かれたコマンド等のことを言います。

以下ではRails のrakeタスクに自分が行いたいタスクを登録しておきconsoleからコマンドを叩くだけで実行する流れを説明します。

Rakefileを作成する

railsではrakeコマンドを実行した場合、Rakefileと言う名前で登録されているファイルを参照しにいきます。(-fオプションをつけ明示的に違う名前のファイルを参照させることもできます。)

mkdir test
cd test
touch Rakefile

Rakefileの編集

Rakefaileの中では「desc」「task」と言う記述が出てきます。

「desc」にはタスクの一覧(次の項目で説明)を表示させた際、タスクがどのような役割を持っているかを説明する文を記述します。

「task」はrake taskで実際に実行するタスクの名称を記述します。

desc 'rakeタスクのテスト' # タスクの説明
task :test do         # 実行する際の名称
  puts 'これはテストです'
end

rakeコマンドで -T オプションをつけどんなタスクが登録されているのかを確認する

実際にタスクが登録されているのかを確認してみます。

rake -T

コマンド実行時の表示(#に続く文字列は実際に表示される文字列となります)

rake test # rakeタスクのテスト

rakeタスクの実行

それでは最後に作成したrakeタスクを実行してみます。

rake test
これはテストです

「これはテストです」と表示が出ればOKです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0