class Yoda::Store::Adapters::LeveldbAdapter
Public Class Methods
for(path)
click to toggle source
# File lib/yoda/store/adapters/leveldb_adapter.rb, line 9 def for(path) @pool ||= {} @pool[path] || (@pool[path] = new(path)) end
new(path)
click to toggle source
@param path [String] represents the path to store db.
# File lib/yoda/store/adapters/leveldb_adapter.rb, line 20 def initialize(path) @path = path @db = LevelDB::DB.new(path, compression: true) at_exit { @db.closed? || @db.close } end
type()
click to toggle source
# File lib/yoda/store/adapters/leveldb_adapter.rb, line 14 def type :leveldb end
Public Instance Methods
batch_write(data, bar)
click to toggle source
@param data [Enumerator<(String, Object)>] @param bar [#increment, nil]
# File lib/yoda/store/adapters/leveldb_adapter.rb, line 42 def batch_write(data, bar) data.each do |(k, v)| @db.put(k, v) bar&.increment end end
clear()
click to toggle source
# File lib/yoda/store/adapters/leveldb_adapter.rb, line 70 def clear @db.destroy! end
delete(address)
click to toggle source
@param address [String] @return [void]
# File lib/yoda/store/adapters/leveldb_adapter.rb, line 51 def delete(address) @db.delete(address.to_s) end
exist?(address)
click to toggle source
@param address [String] @return [true, false]
# File lib/yoda/store/adapters/leveldb_adapter.rb, line 57 def exist?(address) @db.exists?(address.to_s) end
get(address)
click to toggle source
@param address [String] @return [any]
# File lib/yoda/store/adapters/leveldb_adapter.rb, line 29 def get(address) JSON.load(@db.get(address.to_s), symbolize_names: true) end
keys()
click to toggle source
@return [Array<String>]
# File lib/yoda/store/adapters/leveldb_adapter.rb, line 62 def keys @db.keys end
put(address, object)
click to toggle source
@param address [String] @param object [Object] @return [void]
# File lib/yoda/store/adapters/leveldb_adapter.rb, line 36 def put(address, object) @db.put(address.to_s, object.to_json) end
stats()
click to toggle source
# File lib/yoda/store/adapters/leveldb_adapter.rb, line 66 def stats @db.stats end
sync()
click to toggle source
# File lib/yoda/store/adapters/leveldb_adapter.rb, line 74 def sync # nop end