Module: Moneta::Cushion::Implementation

Included in:
Moneta::Cushion
Defined in:
lib/cushion/utils/moneta.rb

Instance Method Summary collapse

Instance Method Details

#[](key) ⇒ Object



49
50
51
52
53
# File 'lib/cushion/utils/moneta.rb', line 49

def [](key)
  obj = @db.doc(key)
  obj && obj[:value]
rescue
end

#[]=(key, value) ⇒ Object



55
56
57
58
59
60
61
62
63
# File 'lib/cushion/utils/moneta.rb', line 55

def []=(key, value)
  obj = @db.doc(key) rescue nil
  if obj
    obj[:value] = value
    obj.save
  else
    @db.store('_id' => key, 'value' => value)
  end
end

#clearObject



80
81
82
83
84
# File 'lib/cushion/utils/moneta.rb', line 80

def clear
  docs = @db.all['rows'].map { |row| { '_id' => row['id'],
      '_rev' => row['value']['rev'], '_deleted' => true } }
  @db.bulk(docs, :use_uuids => false)
end

#delete(key) ⇒ Object



69
70
71
72
73
74
# File 'lib/cushion/utils/moneta.rb', line 69

def delete(key)
  obj = @db.doc(key)
  obj.destroy
  obj[:value]
rescue
end

#fetch(key, default) ⇒ Object



65
66
67
# File 'lib/cushion/utils/moneta.rb', line 65

def fetch(key, default)
  self[key] || default
end

#has_key?(key) ⇒ Boolean



45
46
47
# File 'lib/cushion/utils/moneta.rb', line 45

def has_key?(key)
  @db.has_key?(key)
end

#key?(key) ⇒ Boolean



41
42
43
# File 'lib/cushion/utils/moneta.rb', line 41

def key?(key)
  @db.key?(key)
end

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



76
77
78
# File 'lib/cushion/utils/moneta.rb', line 76

def store(key, value, options = {})
  self[key] = value
end