Class: RedSetMulti

Inherits:
Object
  • Object
show all
Defined in:
lib/redness/red_set_multi.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(*keys) ⇒ RedSetMulti

Returns a new instance of RedSetMulti.



4
5
6
7
# File 'lib/redness/red_set_multi.rb', line 4

def initialize(*keys)
  self.keys = keys
  self.redis = Red.new
end

Instance Attribute Details

#keysObject

Returns the value of attribute keys.



2
3
4
# File 'lib/redness/red_set_multi.rb', line 2

def keys
  @keys
end

#redisObject

Returns the value of attribute redis.



2
3
4
# File 'lib/redness/red_set_multi.rb', line 2

def redis
  @redis
end

Instance Method Details

#get(options = {}) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/redness/red_set_multi.rb', line 9

def get(options = {})
  lower_bound = options[:lower] || 0
  upper_bound = options[:upper] || -1

  redis.execute_with_uncertainty([]) do
    results = keys.map { |key| redis.zrevrange(key, lower_bound, upper_bound) }

    if results.present?
      results.map {|r| r.map(&:to_i)}
    else
      []
    end
  end
end