Class: Docket::Storage::Daybreak

Inherits:
Base
  • Object
show all
Defined in:
lib/docket/storage/daybreak.rb

Instance Attribute Summary

Attributes inherited from Base

#db, #namespace

Instance Method Summary collapse

Constructor Details

#initialize(filename) ⇒ Daybreak

Returns a new instance of Daybreak.



7
8
9
# File 'lib/docket/storage/daybreak.rb', line 7

def initialize filename
  self.db = ::Daybreak::DB.new filename
end

Instance Method Details

#append(key, value) ⇒ Object



19
20
21
22
23
24
# 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

#closeObject



38
39
40
# File 'lib/docket/storage/daybreak.rb', line 38

def close
  db.close
end

#closed?Boolean

Returns:

  • (Boolean)


42
43
44
# File 'lib/docket/storage/daybreak.rb', line 42

def closed?
  db.closed?
end

#loadObject



34
35
36
# File 'lib/docket/storage/daybreak.rb', line 34

def load
  db.load
end

#read(key) ⇒ Object



30
31
32
# File 'lib/docket/storage/daybreak.rb', line 30

def read key
  touch { db.get key }
end

#remove(key) ⇒ Object



26
27
28
# File 'lib/docket/storage/daybreak.rb', line 26

def remove key
  touch { db.delete! key }
end

#save(key, value, options = {}) ⇒ Object



11
12
13
14
15
16
17
# 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