Sha256: db0475d0266e3c8e4ed6445494cdb2970d276475031c55107b982df0a4b916d2
Contents?: true
Size: 848 Bytes
Versions: 3
Compression:
Stored size: 848 Bytes
Contents
# frozen_string_literal: true require "active_model" require "redis" module SuperSpreader class RedisModel include ActiveModel::Model include ActiveModel::Attributes include ActiveModel::Serialization def initialize(values = default_values) super end def default_values redis.hgetall(redis_key) end def persisted? redis.get(redis_key).present? end def delete redis.del(redis_key) end def save redis.multi do |pipeline| pipeline.del(redis_key) serializable_hash.each do |key, value| pipeline.hset(redis_key, key, value) end end end # Primarily for factory_bot alias_method :save!, :save private def redis_key self.class.name end def redis SuperSpreader.redis end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
super_spreader-0.2.1 | lib/super_spreader/redis_model.rb |
super_spreader-0.2.0 | lib/super_spreader/redis_model.rb |
super_spreader-0.1.0.beta2 | lib/super_spreader/redis_model.rb |