2010-03-16
■ [ruby] Ruby meets Manpage
manは、Unix系OSで一般的に使われているドキュメントシステムだ。
これを、Rubyのgemに対しても応用できないかという試みが現れた。
その名もgem-man。
gem install gem-manとすると、
gem man <gem名>でそのgemの説明が見られるようになる。例えば
gem man gem-manとか。 ライブラリ作者の側では、gemを作る際にman/以下にmanのファイルを置けばいい。 manファイルの作り方はman whatが参考になりそう (ronnを使う例が載っている)。
おまけ
http://man.cx/ruby : ネットでmanを引けるサイト。■ [prog][memo] Test Doubleいろいろ
- Ruby Freaks Lounge:第35回 実用的なダミーサーバ ww(double-web)(1)|gihyo.jp … 技術評論社
- Martin Fowler's Bliki in Japanese - テストダブル
名前 | インターフェイスの実装 | 用途・備考 |
---|---|---|
dummy | 実装しない | 引数として渡すが、使われない |
fake | 実装する | ただし本物よりは性能などが劣る、仮実装 |
stub | 実装する | あらかじめ決められたものを返す |
mock | 実装する | 期待した呼ばれ方かどうかをテストする |
spy | 実装する | 呼ばれ方を記録して、あとで確認する |
■ [ruby] Rubyスクリプトをcronで回したいときはどうすれば良い?
ありがちな罠‥
●PATHがいつもと違うせいので、portsで入れたやつじゃなくてMac標準のRubyが実行される
●GEM_HOMEがいつもと違うせいで、ライブラリが読み込めない
●RUBYOPT=rubygemsがないせいで、ライブラリが読み込めない
というのを避けるためには、どうするのが正しいんでしょう。
とりあえずcrontabの冒頭でこれらを設定することでなんとかなったが。
PATH=/Users/yhara/bin:/opt/local/bin:/opt/local/sbin/:/usr/local/bin:/usr/bin GEM_HOME=/some/where RUBYOPT=rubygems 0 * * * * /Users/yhara/proj/etc/cron_hatenagraph/hatena_graph.sh
自分ならラップしたシェルスクリプトを用意するかなぁ。