Class: Moneta::Adapters::DataMapper
- Defined in:
- lib/moneta/adapters/datamapper.rb
Overview
Datamapper backend
Defined Under Namespace
Classes: Store
Instance Method Summary collapse
- #clear(options = {}) ⇒ Object
- #delete(key, options = {}) ⇒ Object
-
#initialize(options = {}) ⇒ DataMapper
constructor
Constructor.
- #key?(key, options = {}) ⇒ Boolean
- #load(key, options = {}) ⇒ Object
- #store(key, value, options = {}) ⇒ Object
Methods inherited from Base
#[], #[]=, #close, #decrement, #fetch, #increment
Methods included from Mixins::WithOptions
#expires, #prefix, #raw, #with
Constructor Details
#initialize(options = {}) ⇒ DataMapper
Constructor
21 22 23 24 25 26 27 |
# File 'lib/moneta/adapters/datamapper.rb', line 21 def initialize( = {}) raise ArgumentError, 'Option :setup is required' unless [:setup] @repository = (.delete(:repository) || :moneta).to_sym Store.storage_names[@repository] = (.delete(:table) || :moneta).to_s ::DataMapper.setup(@repository, [:setup]) context { Store.auto_upgrade! } end |
Instance Method Details
#clear(options = {}) ⇒ Object
61 62 63 64 |
# File 'lib/moneta/adapters/datamapper.rb', line 61 def clear( = {}) context { Store.all.destroy! } self end |
#delete(key, options = {}) ⇒ Object
51 52 53 54 55 56 57 58 59 |
# File 'lib/moneta/adapters/datamapper.rb', line 51 def delete(key, = {}) context do if record = Store.get(key) value = record.v record.destroy! value end end end |
#key?(key, options = {}) ⇒ Boolean
29 30 31 |
# File 'lib/moneta/adapters/datamapper.rb', line 29 def key?(key, = {}) context { Store.get(key) != nil } end |
#load(key, options = {}) ⇒ Object
33 34 35 36 37 38 |
# File 'lib/moneta/adapters/datamapper.rb', line 33 def load(key, = {}) context do record = Store.get(key) record && record.v end end |