Rejuicerバージョン0.0.3をリリース
rejuicerのバージョン0.0.3をリリースしました。
rejuicerというのは簡易的なインデックスを構築できるライブラリで、一年以上前にプロトタイプ的なものを作ったまま( Rubyで簡易検索エンジン、Rejuicerをリリースしました。)放置していました。
今回は、以下の機能が追加されました。
・インデックスからの削除が可能に
・空の検索条件の場合、インデックス上の全ID値を返すように変更
それから、ID値が4のオブジェクトがindexingできないという致命的なバグをようやく直しました。放置しすぎですね。
インストールは以下でOK。
$ sudo gem install rejuicer -v 0.0.3
インデックスからの削除はdeleteメソッドで行います。
work = Struct.new(:id, :odd_flag, :remainder_3, :remainder_5)
mother = (0...10).inject([]){|m, i| m << work.new(i, i % 2 == 0, i % 3, i % 5)}
index.set(mother)
index.search #=> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
index.search(:remainder_3 => 1, :remainder_5 => 4) #=> [4]
index.delete(mother[4])
index.search(:remainder_3 => 1, :remainder_5 => 4) #=> []
index.search #=> [0, 1, 2, 3, 5, 6, 7, 8, 9]
コードはgithubにあります。
https://github.com/tsukasaoishi/rejuicer
最近は趣味のプログラミングがあまりできていないので、またいろいろやっていこうと考えています。