Rake
参考:
ruby/rake: A make-like build utility for Ruby – GitHub
ドキュメント
参考:
class Rake::FileList (Ruby 2.6.0)
instance method Kernel#task (Ruby 2.6.0)
instance method Kernel#desc (Ruby 2.6.0)
instance method Kernel#namespace (Ruby 2.6.0)
Documentation for rake | RubyDoc.info
使い方
参考:
Rake – Core Ruby Tools | Launch School
Using Rake to Automate Tasks | Field Notes
Customizing Rails rake tasks | DEV Community
some basics to get you started | Michaël Rigart
コマンド
参考:
command_line_usage | Rake [Official]
概要
参考:
Rake Gem explained | Rudy Yazdi
タスク一覧を表示する
ディスクリプションのあるタスクを表示する。
$ rake -T
全てのタスクを表示する。
$ rake -A
タスク名がパターンに一致するタスクを表示する。
$ rake -T db
タスク名がパターンに一致するタスクのディスクリプションを全て表示する。
$ rake -D db
タスクが定義されているソースファイルの行番号を表示する。
$ rake -W db
参考:
A Better Way To Search Rake Tasks | SpinDance
Find out where a rake task is defined | think (batsov.com)
Hide a Rake task from the `rake -T` list | makandra dev
自分で定義した rake タスクの一覧を表示する – スタック・オーバーフロー
How do I find the source file for a rake task? – Stack Overflow
verbose / quiet / silent
参考:
Rake からタスクを呼び出す際に実行されるコマンドの出力を止めたい | ようへいの日々精進 XP
rake spec での冗長な出力を止める方法。| Sooey
Disable rspec verbosity to hide spec list | Singlebrook
Hide the list of files when running rspec? – Stack Overflow
next
参考:
rake task の途中終了は return じゃなくて next – Qiita
rake task の中断は return ではなく next だった | ノンカフェインであなたにやさしい
rake task を途中で抜けるときは return じゃなくて next 答えを知りたい | 答えを知りたい
How do I return early from a rake task? – Stack Overflow
sh
参考:
Rake の sh で外部コマンドを実行する – Qiita
依存タスク
参考:
他の rake タスクに依存する rake タスクの実行 | Hack Your Design!
enhance
特定のタスクの前後にタスクを追加する。
Rake::Task[:process].enhance([:before_process]) do Rake::Task[:after_process].invoke end
参考:
Rake で任意のタスクの前後に別のタスクを実行する | HsbtDiary
rails の migration を hook する方法 | Hive Color
instance method Rake::Task#enhance (Ruby 2.5.0)
Modifying Rake Tasks | Dan Manges’s Blog
他のタスクを呼び出す
invoke
- 依存タスクを実行する。
- 同じタスクは一度しか実行しない。(同じタスクを再実行する場合は
reenable
が必要。) arg_names
を用いてTaskArguments
のインスタンスを生成して引数を渡す。
execute
- 依存タスクは実行しない。
- 引数をそのまま渡す。
参考:
Rails で rake タスクから別のタスクを呼び出す | 動かざることバグの如し
instance method Rake::Task#invoke (Ruby 2.6.0)
instance method Rake::Task#execute (Ruby 2.6.0)
instance method Rake::Task#reenable (Ruby 2.6.0)
Rake Task: invoke or execute?? | Sampat Badhe
タスクに引数を渡す
参考:
class Rake::TaskArguments (Ruby 2.6.0)
Task Arguments | Jacob Swanner
4 Ways to Pass Arguments to a Rake Task | Cobwwweb
optparse で引数を処理する
参考:
Rake と optparse を組み合わせたら少し幸せになった – Qiita
run
参考:
rake/application.rb at v12.3.2 · ruby/rake
gem のタスクを読み込む
参考:
Rails ではない場合に gem で定義された Rake Task を呼び出す – Qiita
namespace
参考:
Rake タスクにおける namespace 内でのメソッド定義 | freedom-man
instance method Kernel#namespace (Ruby 2.6.0)
特定の Rake タスク内でのみ使うメソッドの定義方法 – スタック・オーバーフロー
Default task for namespace in Rake – Stack Overflow
タスクに別名を付ける
参考:
Rake の task 名に alias を設定する | SOTA
Rake タスクにエイリアスを付ける | Hack Your Design!
A helper to alias a task in rake – GitHub Gist
Alias of task name in Rake – Stack Overflow
task / desc
参考:
instance method Kernel#task (Ruby 2.6.0)
instance method Kernel#desc (Ruby 2.6.0)
What is the magic behind “desc ‘description'” on rake? – Stack Overflow
define_task
参考:
singleton method Rake::Task.define_task (Ruby 2.6.0)
clear
参考:
instance method Rake::Task#clear (Ruby 2.6.0)
Override a rake task | Felix Clack
Completely override rake task (and dismiss it’s actions and prerequisites) – GitHub Gist
Overriding rails’ default rake tasks – Stack Overflow
clear_actions
参考:
Capistrano3 Task を Override する方法 | ふらっと考える
instance method Rake::Task#clear_actions (Ruby 2.6.0)
full_comment
参考:
instance method Rake::Task#full_comment (Ruby 2.6.0)
Access Rake Task Description from within Task – Stack Overflow
actions
参考:
Task Overwriting | Jay Fields’ Thoughts
instance method Rake::Task#actions (Ruby 2.6.0)
How do I find the source file for a rake task? – Stack Overflow
prerequisites
参考:
instance method Rake::Task#prerequisites (Ruby 2.6.0)
Rake::DSL
参考:
モジュールやクラスの中から Rake の DSL 構文を使う – Qiita
Module: Rake::DSL — Documentation for rake | RubyDoc.info
Rake::TaskManager
参考:
module Rake::TaskManager (Ruby 2.6.0)
Rake::TaskManager.record_task_metadata
参考:
Rake でなぜデフォルトで task から自分の description にアクセスできないのか分からない – Qiita
Method: Rake::TaskManager.record_task_metadata — Documentation for rake | RubyDoc.info
rake/task_manager.rb at v12.3.2 · ruby/rake – GitHub
Access Rake Task Description from within Task – Stack Overflow
仕組み
参考:
Rake を徹底解剖 – その1 Rakeの実行から初期化まで | kei-p3’s blog
Rake を徹底解剖 – その2 タスクの読みこみ | kei-p3’s blog
Rake を徹底解剖 – その3 タスクの定義 | kei-p3’s blog
タスクの重複
参考:
Why is my minitest.rake running twice when I enter rake into terminal? – Stack Overflow
Tips
参考: