rubyzipをvendorディレクトリに配置する
Rubricksでは、その上に乗っかるコンポーネントをrzipという圧縮ファイル形式で取り扱う。Javaでいえばwarファイルと同じような位置付けである。rzipを解凍するためにrubyzipというライブラリを利用しているのだが、gemでインストールしてもらうという方針だと通常の利用者にはやはり敷居が高い。安定版をリリースする頃にはレンタルサーバでも動作するようにしておきたい。
rubyzipのソースをダウンロードしてみる。ファイル構成は以下のようになっている。
/ lib/ zip/ ライブラリ群 sample/ サンプルコード群 test/ テストコード群 ドキュメント類
動作に必要なのはライブラリ群だけなので、RailsAppのvendorディレクトリ以下にとりあえず配置してみる。
/ vendor/ plugins/ rubyzip/ lib/ zip/ ライブラリ群 init.rb
ライブラリとしてはいくつかのファイルに分かれているのだが、ソースを斜め読みしてみたところ、zip.rbをrequireしてあげれば必要に応じて他のファイルを呼び出しているようだ。なので、init.rbには以下のように記述してみる。
require 'zip/zip'
上記の変更を反映するため、WEBRickを再起動してコンポーネントの登録処理を行ってみる。
普通に動く。一発で動いてしまうと逆に不安になるのだが、Functional TestとSelenium Testを流し直しても特にエラーはでていない。Railsって素敵だなと思う。しばらく様子を見て問題なければ次回リリースに適用しよう。