トップ «前の日記(2010-03-15) 最新 次の日記(2010-03-18)» 編集

Route 477



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いろいろ

名前インターフェイスの実装用途・備考
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 
本日のツッコミ(全1件) [ツッコミを入れる]
okkez (2010-03-17 12:58)

自分ならラップしたシェルスクリプトを用意するかなぁ。