class RedisModel::Intersected

Attributes

key_label[R]

Public Class Methods

new(sets, seed = rand(256)) click to toggle source
# File lib/redis_model/intersected.rb, line 7
def initialize(sets, seed = rand(256))
  @sets = sets
  @key_label = (@sets.map(&:key_label) + [DateTime.current.to_i, seed]).compact.join(':')
end

Public Instance Methods

generate(expire_in = nil) click to toggle source
# File lib/redis_model/intersected.rb, line 12
def generate(expire_in = nil)
  RedisModel::Base.connection.zinterstore @key_label, @sets.map(&:key_label)
  RedisModel::Base.connection.expire(@key_label, expire_in) if expire_in
end