Module: Moneta::Cushion::Implementation
- Included in:
- Moneta::Cushion
- Defined in:
- lib/cushion/utils/moneta.rb
Instance Method Summary collapse
- #[](key) ⇒ Object
- #[]=(key, value) ⇒ Object
- #clear ⇒ Object
- #delete(key) ⇒ Object
- #fetch(key, default) ⇒ Object
- #has_key?(key) ⇒ Boolean
- #key?(key) ⇒ Boolean
- #store(key, value, options = {}) ⇒ Object
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 |
#clear ⇒ Object
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, = {}) self[key] = value end |