- 公開日
Rakeタスクにエイリアスを付ける
RubyのRakeタスクにエイリアス付けたいときってありませんか?
僕はあります。rake createなんていうタスクがあったとしたら、手癖でrake newとか打っちゃうことがあるんですよ。そういうときはalias_taskなんていう関数を作ってやって、タスク名に別のエイリアス名を割り当ててやればOK。具体的にはこんな感じです。
def alias_task(tasks)
tasks.each do |new_name, old_name|
task new_name, [*Rake.application[old_name].arg_names] => [old_name]
end
end
alias_task [
[:new, :create],
[:dc, :db_create]
]
このコードでは
createタスクにnewというエイリアス名db_createタスクにdcというエイリアス名
をそれぞれ割り当てています。