module Persist::LMDBAdapter
Public Class Methods
Source
# File lib/rbbt/persist/tsv/lmdb.rb, line 7 def self.open(path, write) database = CONNECTIONS[path] ||= begin dir = File.dirname(File.expand_path(path)) file = File.basename(path) env = LMDB.new(dir, :mapsize => 1024 * 10000) database = env.database file, :create => write database end database.extend Persist::LMDBAdapter unless Persist::LMDBAdapter === database database.persistence_path ||= path database end
Public Instance Methods
Source
# File lib/rbbt/persist/tsv/lmdb.rb, line 32 def collect res = [] cursor do |cursor| while pair = cursor.next res = if block_given? yield *pair else pair end end end res end
Source
# File lib/rbbt/persist/tsv/lmdb.rb, line 23 def each cursor do |cursor| while pair = cursor.next yield *pair end end self end