トップ «前の日記(2004-05-27 (Thu)) 最新 次の日記(2004-06-08 (Tue))» 編集   RSS 1.0 FEED  

Journal InTime


2004-05-28 (Fri) [長年日記]

_ [Ruby] lily 0.1.5 on mod_ruby

ふと思い立って、lily 0.1.5をmod_rubyで動かしてみた。 やはりそのままでは動かなかったので、色々試行錯誤。

基本的に、以下のような変更で動いたようだ。

  • へッダの出力にCGI#headerを使用。
  • mod_rubyでは$SAFE == 1なのでとにかくuntaint。 (httpd.confに`RubySafeLevel 0'と書くという手もあるけど、modruby.netで使いたい のでなるべく正攻法で対処。)
  • mod_rubyでは既存クラスの変更はできない(ほんとはできるけど)ので、 String#to_eucなどをNKF.nkfを直接使用するように変更。 (というか、呼び出し側ではstr.toeucだったりするので現状でも機能してないような)

あと、プラグインはinstance_evalで評価されるようなので、mod_rubyとの相性も 良さそう(Lilyのインスタンス毎に名前空間が独立になるから)なのだが、プラグインで 例外が発生したバックトレースが見にくいので、ちょっといじってみた。

結局、パッチ(diff -u --ignore-all-space --strip-trailing-cr)はこんな感じ。

<URL:/tmp/lilyset-mod_ruby.diff>

CGIでも同じコードで動作するので、できればマージしていただけるとうれしいです (とかいう報告はTrackbackでいいんでしょうか)。

_ [Ruby] helium.ruby-lang.orgがクラックされました

というわけです。ごめんなさい。

本日のツッコミ(全2件) [ツッコミを入れる]
_ kan (2004-05-30 (Sun) 01:01)

どうも。lilyを作っている者です。<br>mod_rubyやFastCGIには早く対応させたかったのですが、環境を用意できていないこともあってサボってました。<br>次バージョンで取り込ませていただきます。どうもありがとうございました。

_ shugo (2004-06-09 (Wed) 02:25)

すみません、どたばたしていてお返事できませんでした。<br>わたなべさんの日記にも書かれているように途中からreverse patchになってしまっているようです。どうもすみません。