module Moneta::DBMAdapter

This is for adapters that conform to the DBM interface @api private

Public Instance Methods

close() click to toggle source

(see Proxy#close)

# File lib/moneta/dbm_adapter.rb, line 8
def close
  @backend.close
  nil
end
merge!(pairs, options = {}) click to toggle source

(see Proxy#merge!)

# File lib/moneta/dbm_adapter.rb, line 14
def merge!(pairs, options = {})
  hash =
    if block_given?
      keys = pairs.map { |k, _| k }
      old_pairs = Hash[slice(*keys)]
      Hash[pairs.map do |key, new_value|
        new_value = yield(key, old_pairs[key], new_value) if old_pairs.key?(key)
        [key, new_value]
      end.to_a]
    else
      Hash === pairs ? pairs : Hash[pairs.to_a]
    end

  @backend.update(hash)
  self
end