Sha256: 3a5e93dcab58fb166f4482940ee8bf76521f490b39be1eb0f89c31593612ad6e
Contents?: true
Size: 1.17 KB
Versions: 3
Compression:
Stored size: 1.17 KB
Contents
require 'daybreak' module Moneta module Adapters # Daybreak backend # @api public class Daybreak < Memory # @param [Hash] options # @option options [String] :file Database file # @option options [::Daybreak] :backend Use existing backend instance def initialize(options = {}) @backend = options[:backend] || begin raise ArgumentError, 'Option :file is required' unless options[:file] ::Daybreak::DB.new(options[:file], serializer: ::Daybreak::Serializer::None) end end # (see Proxy#load) def load(key, options = {}) @backend.load if options[:sync] @backend[key] end # (see Proxy#store) def store(key, value, options = {}) @backend[key] = value @backend.flush if options[:sync] value end # (see Proxy#increment) def increment(key, amount = 1, options = {}) @backend.lock { super } end # (see Proxy#create) def create(key, value, options = {}) @backend.lock { super } end # (see Proxy#close) def close @backend.close end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
moneta-1.0.0 | lib/moneta/adapters/daybreak.rb |
moneta-0.8.1 | lib/moneta/adapters/daybreak.rb |
moneta-0.8.0 | lib/moneta/adapters/daybreak.rb |