Class: Qbot::Storage::LevelDB

Inherits:
Driver
  • Object
show all
Defined in:
lib/qbot/storage/leveldb.rb

Constant Summary collapse

QBOT_LEVELDB_DEFAULT_DATABASE =
'qbot-storage.db'
QBOT_LEVELDB_DEFAULT_BACKUP_INTERVAL =
5

Instance Method Summary collapse

Methods inherited from Driver

build, inherited

Constructor Details

#initializeLevelDB

Returns a new instance of LevelDB.



12
13
14
15
16
17
18
19
20
21
# File 'lib/qbot/storage/leveldb.rb', line 12

def initialize
  interval = ENV['QBOT_LEVELDB_BACKUP_INTERVAL'] || QBOT_LEVELDB_DEFAULT_BACKUP_INTERVAL
  database = ENV['QBOT_LEVELDB_DATABASE']        || QBOT_LEVELDB_DEFAULT_DATABASE

  @db = ::LevelDB::DB.new(File.join(Dir.pwd, database))
  @cache = {}

  restore
  Qbot.app.timers.every(interval) { backup }
end

Instance Method Details

#namespace(ns) ⇒ Object



23
24
25
# File 'lib/qbot/storage/leveldb.rb', line 23

def namespace(ns)
  @cache[ns] ||= {}
end