トップ «前の日記(2013/07/19 (金) ) 最新 次の日記(2013/07/21 (日) )» 編集 RSS feed

HsbtDiary


2013/07/20 (土) [長年日記]

[tDiary][ruby] tDiary-3.2.2.20130720 をリリースした

前回の pre リリース版である 3.2.2.20130617 から一ヶ月ぶりの更新。今回は 7/29 の定期リリースに向けて結構大きめの変更を加えた。

必須ライブラリのロードは bundler を使うようにした

これまで bundler は Rack モードでだけ例外的に使用するみたいな作りだったのを CGI であっても使うようにした。これで、デーモンプロセスの起動は許されてないけど、SSH ログインは出来る。というユーザーは bundler を利用することで tDiary のプラグインや拡張機能で必要とされている gem を簡単に導入することが出来る。

ただし、FTP しか使えないような共有サーバーで動かしているユーザーはサーバーにログインしてライブラリの追加。ということができないので特に恩恵はない。

Rack を全ての環境で読み込むようにした

これまでは Rack をロードしている環境、つまり Passenger のようなアプリケーションサーバーで tDiary を動作させている時だけ Rack::Request を使用して、CGI や FCGI な環境で起動している時は Rack::Request っぽい擬似クラス TDiary::Request を作って CGI.new をハンドリングしていた。

これを TDiary::Request は Rack::Request を継承して Rack に準拠したクラスに昇格させた上で起動方法に応じて Request 内のインタフェースを切り替えるという仕組みにした。こうすることで今は特に恩恵はないんだけど、将来的には CGI は Rack::Request にたどり着くための一手段まで格下げして Rack の先は Rails の世界と同等。という形に持っていった上で tDiary 内部にグローバル変数のように居座っている CGI のインスタンスを駆逐したい。

この二つはもう少し早く突っ込んでフィールドテストしたかったけど、ぎりぎりになってしまったのでヒトバシラーな方は試してみて動作報告などしてもらえると助かります。