rufus-tokyo 0.1.10, limit(count, offset)
Just released rufus-tokyo 0.1.10. It supports the new setlimit method in Tokyo Cabinet 1.4.10 tables and Tokyo Tyrant 1.1.17 tables.
(I put up a piece of documentation on how to install TC and TT at http://openwferu.rubyforge.org/tokyo.html)
What’s the deal with this setlimit method ? Well, it’s an improvement over setmax which only accepted a count parameter.
require 'rubygems'
require 'rufus/tokyo'
t = Rufus::Tokyo::Table.new('table.tct')
t['pk0'] = { 'name' => 'alfred', 'age' => '22' }
t['pk1'] = { 'name' => 'bob', 'age' => '18' }
t['pk2'] = { 'name' => 'charly', 'age' => '45' }
t['pk3'] = { 'name' => 'doug', 'age' => '77' }
t['pk4'] = { 'name' => 'ephrem', 'age' => '32' }
p t.query { |q|
q.order_by 'age'
q.limit(2, 3) # 2 records max, skip 3 records
}
# => [ {"name"=>"ephrem", :pk=>"pk4", "age"=>"32"},
# {"name"=>"charly", :pk=>"pk2", "age"=>"45"} ]
t.close
(Oops, I noticed the max/count parameter is not always respected, submitted a bug report… And not sure if this offset/skip is ‘pagination’ out of the box, it seems more like a ‘skip’, literally)
This release of rufus-tokyo supports previous versions of Tokyo Cabinet and Tokyo Tyrant as well.
sudo gem install rufus-tokyo or http://github.com/jmettraux/rufus-tokyo/
Many thanks to Benjamin Yu for pointing out the issue.