2011年8月1日月曜日

Refeのバージョン自動切り替え

  refeは1.9系と1.8系でコマンドが違う。
 いま有効なバージョンのリファレンスが自動的に呼び出されると便利。

【準備】
rvmを使って、どのバージョンのrubyも"ruby"コマンドで実行できることが前提。
袋から取り出したrefeはよく洗い、設置ディレクトリをメモしておく。

【動作確認環境】
Mac OS X 10.7
Ruby 1.9.2 / 1.8.7 / MacRuby 0.10

【スクリプト】
こんな感じでどうでしょう。パスの通る場所に保存して実行権限付加(chmod +x)しておく。
#!/bin/bash
refedir=~/rubyrefm #directory refe exists
v=$(ruby --version)
m=${v#*ruby 1.9.2}
if [ "$m" != "$v" ]
then db="db-1_9_2"
else db="db-1_8_7"
fi
ruby -Ke -I $refedir/bitclust/lib $refedir/bitclust/bin/refe.rb -d $refedir/$db $*

【懸案事項】
・バージョンアップ時のスクリプト更新忘れ(あるある)
・MacRubyで使うと数秒固まる
・言うほど便利にはなっていない

0 件のコメント:

コメントを投稿