先日のエントリで公開した TinyCss をいろいろいじって、github で gem にしました。
milk1000cc/tiny_css · GitHub
sudo gem install milk1000cc-tiny_css --source=http://gems.github.com
でインストールできます。インターフェースは変わってないですが、
- TinyCss クラスを TinyCss モジュールに変えて階層化
- #style のオブジェクトを Hash じゃなくて TinyCss::OrderedHash にした
- #style のキーがハッシュでもアクセスできるようにした
- RSpec のスペックファイルを書いた
- その他バグ修正
てことでいろいろ変わってます。
CSS ってのは上から順番に読み込まれていくわけで、順番を考えないと不便だということがわかったので、ハッシュをやめました。
できるだけ変な挙動を避けるため、TinyCss::OrderedHash は Hash を継承していません。
なので、メソッドが全然足りてない気がします。
てかこれを作ったのは別のライブラリ用だったりして、それで必要だった each くらいしか実装してないです..
時間があったらちゃんとします。
てか Ruby1.9 が普及すればすべて解決ですね。
恥ずかしながらテストを書いたのはこれが初めてです..
RSpec も git も ruby も英語も初心者で、すべて我流か見よう見まねです..
叱ってください..