Sha256: ca7ea3587a0b2a26791f9514b1506fb5fcfd75a7bad33333f8e7d5194f22ef09
Contents?: true
Size: 706 Bytes
Versions: 7
Compression:
Stored size: 706 Bytes
Contents
module Moneta # This is for adapters that conform to the DBM interface # @api private module DBMAdapter include HashAdapter # (see Proxy#close) def close @backend.close nil end # (see Proxy#merge!) 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 end end
Version data entries
7 entries across 7 versions & 1 rubygems