Class: Moneta::Adapters::TDB
- Inherits:
-
Object
- Object
- Moneta::Adapters::TDB
- Includes:
- Defaults, EachKeySupport, HashAdapter, IncrementSupport
- Defined in:
- lib/moneta/adapters/tdb.rb
Overview
TDB backend
Instance Attribute Summary
Attributes included from HashAdapter
Instance Method Summary collapse
-
#close ⇒ Object
Explicitly close the store.
-
#create(key, value, options = {}) ⇒ Boolean
Atomically sets a key to value if it’s not set.
-
#initialize(options) ⇒ TDB
constructor
A new instance of TDB.
Methods included from EachKeySupport
Methods included from IncrementSupport
Methods included from HashAdapter
#clear, #delete, #fetch_values, #key?, #load, #merge!, #slice, #store, #values_at
Methods included from Defaults
#[], #[]=, #decrement, #each_key, #features, #fetch, #fetch_values, included, #increment, #key?, #merge!, #slice, #supports?, #update, #values_at
Methods included from OptionSupport
#expires, #prefix, #raw, #with
Constructor Details
#initialize(options) ⇒ TDB
Returns a new instance of TDB.
18 19 20 21 22 23 24 |
# File 'lib/moneta/adapters/tdb.rb', line 18 def initialize() @backend = [:backend] || begin raise ArgumentError, 'Option :file is required' unless file = .delete(:file) ::TDB.new(file, ) end end |
Instance Method Details
#close ⇒ Object
Explicitly close the store
27 28 29 30 |
# File 'lib/moneta/adapters/tdb.rb', line 27 def close @backend.close nil end |
#create(key, value, options = {}) ⇒ Boolean
Note:
Not every Moneta store implements this method, a NotImplementedError is raised if it is not supported.
Atomically sets a key to value if it’s not set.
33 34 35 36 37 38 |
# File 'lib/moneta/adapters/tdb.rb', line 33 def create(key, value, = {}) @backend.insert!(key, value) true rescue ::TDB::ERR::EXISTS false end |