Protocol BuffersのRuby版を作ってみた
http://code.google.com/p/ruby-protobuf/
先週あたりにPerl on App Engineが発表されたので、グーグルの人に「Ruby版も欲しいっす」って言ったら「何はともあれProtocol Buffers」と言うお返事。ということで、何はともあれ作ってみた。
ホントはprotobuf-rubyというのがすでにGoogle Codeに登録されてるんだけど、なんか初っ端から4人もいるし、Wiki見ても計画だけ妙に細かいし、開始2週間経ってるのにコード一本もないしで、時間かかりそうだなーと思ってまぁ自分でやった*1。実はもうちょっと待ったらここから素晴らしく完成度の高いのが出てくるかも。
こっちはまだ作り初めて一週間なので全然機能足りないけど、とりあえず
- 運がよければ.protoから.rbを生成できる(正規表現ベースの適当パーサーです。あとで作り直す)
- 他のProtocol Buffersでシリアライズしたデータをそれなりに読み込める(bytesはたぶん無理。まだテストしてないです)
- データをなんとなくシリアライズして他のProtocol Buffersに食わせられる(bytesは謎)
あたりがぼんやり可能。
RubyForgeに上げたのでインストールは
sudo gem install ruby_protobuf
するだけ。よかったら試してください。*2
今後はバグ修正とかリファクタリングを除けば
とかやる予定。
盆明けにはなんとか形にしたいと思ってるけど、そもそも欲しいのはProtocol BuffersじゃなくてRuby on AppEngineなんだよな。仮にProtocol Buffersが動いたら、次はなにをやればいいんだろう・・・。
まぁ、それはこれが正しく動いてから考えればいいか。