2010-12-24
cdgem
gem のパスに移動するのがめんどくさいので $GEM_HOME が使える環境下(rvm とか)な ruby の gem のパスに移動する zsh 関数 / 補完関数書いた。
$ cdgem rspec[tab]
とかで
みたいに補完されます。ブクマコメントより、basename でうまく動かない人は 'xargs -i basename {}' すると動くようです
function cdgem() {
cd `echo $GEM_HOME/**/gems/$1*|awk -F' ' '{print $1}'`
}
compctl -K _cdgem cdgem
function _cdgem() {
reply=(`find $GEM_HOME -type d|grep -e '/gems/[^/]\+$'|xargs basename|sort -nr`)
}
rspec 2 と rspec 1.3.1 の共存
両方入れると、rspec 1.3.1 の spec コマンドがエラる(2系が読み込まれるため)ので bin/spec の version を無理矢理書き換える…。
version = "< 2.0.0"
非常に宜しくないない感じですが、他に良い方法あるんですかね…。あと rspec2 は内部的には別物なのに gem 名がrspec2 にならなかったのはなんでかしらかしら、ご存知かしら…。rails3 もまぁそうなんだけどね…。