- 公開日
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
というエイリアス名
をそれぞれ割り当てています。