[groonga-dev,03230] groonga-command-parser for jruby.

Back to archive index

Hiroyuki Sato hiroy****@gmail*****
2015年 5月 14日 (木) 21:09:22 JST


佐藤です。

諸般の事情で、groonga-clientをjrubyで使いたいと思っています。
残念ながら、groonga-comand-parserはjruby未対応のyajl-rubyに依存しています。

代わりにjson-streamをjrubyの時だけ使ったらどうだろうということを考えました。
おそらくjson-streamよりyajl-rubyの方がパースが速いためです

だいぶ汚いのですが、yajlをjson-streamに置き換えて動くようにしてみました。
rake testもとおりました。

課題は次の二つです。
・gemspecで、crubyの時は、yajl-rubyを、jrubyの時はjson-steamを入れるようにしたい。
 単純にパースする時は、JSON.parseを利用する。エンコードはto_jsonを使う。
・crubyの時は、yajlを、jrubyの時はjson-streamを使うようなパーサクラスに変更したい。

gemスペックはRUBY_PLATFORM =~ /java/ とかやれば上手くいくと思ったのですがうまくできませんでした

ということを下手な英語で書きました。どなたか良い案がございましたらアドバイスをください。

https://github.com/groonga/groonga-command-parser/issues/1

余談ですが、json-streamで複数のJSONに対応する方法が良くわからなくて著者の方に質問中です。
https://github.com/dgraham/json-stream/issues/3

こう書けばいいよという方法がありましたらお知らせください。

-- 
Hiroyuki Sato



groonga-dev メーリングリストの案内
Back to archive index