class Docket::Storage::Daybreak

Public Class Methods

new(filename) click to toggle source
# File lib/docket/storage/daybreak.rb, line 7
def initialize filename
  self.db = ::Daybreak::DB.new filename
end

Public Instance Methods

append(key, value) click to toggle source
# File lib/docket/storage/daybreak.rb, line 19
def append key, value
  touch do
    new_value = Array(read(key)) << value
    save(key, new_value.uniq)
  end
end
close() click to toggle source
# File lib/docket/storage/daybreak.rb, line 38
def close
  db.close
end
closed?() click to toggle source
# File lib/docket/storage/daybreak.rb, line 42
def closed?
  db.closed?
end
load() click to toggle source
# File lib/docket/storage/daybreak.rb, line 34
def load
  db.load
end
read(key) click to toggle source
# File lib/docket/storage/daybreak.rb, line 30
def read key
  touch { db.get key }
end
remove(key) click to toggle source
# File lib/docket/storage/daybreak.rb, line 26
def remove key
  touch { db.delete! key }
end
save(key, value, options={}) click to toggle source
# File lib/docket/storage/daybreak.rb, line 11
def save key, value, options={}
  touch do
    db.set! key, value
    db.compact
    db.flush
  end
end

Private Instance Methods

clear!() click to toggle source
# File lib/docket/storage/daybreak.rb, line 48
def clear! 
  db.clear
end
touch() { || ... } click to toggle source
# File lib/docket/storage/daybreak.rb, line 52
def touch &block
  db.load
  yield if block_given?
end