class RedisHA::HashMap
Constants
- DEFAULT_MERGE_STRATEGY
this lambda defines how the individual response hashes are merged the default is to merge in reverse-chronological order
Public Instance Methods
get()
click to toggle source
# File lib/redis_ha/crdt/hash_map.rb, line 16 def get versions = pool.get(@key).map do |v| next if v.nil? || v == "" Marshal.load(v) rescue nil end.compact merge_strategy[versions].tap do |merged| merged.delete(:_time) end end
merge_strategy()
click to toggle source
# File lib/redis_ha/crdt/hash_map.rb, line 26 def merge_strategy @merge_strategy || DEFAULT_MERGE_STRATEGY end
set(data = {})
click to toggle source
# File lib/redis_ha/crdt/hash_map.rb, line 10 def set(data = {}) data.merge!(:_time => Time.now.to_i) pool.set(@key, Marshal.dump(data)) true end