Class: RedisRds::SortedSet
- Inherits:
-
Object
- Object
- Object
- RedisRds::SortedSet
show all
- Includes:
- Enumerable
- Defined in:
- lib/redis_rds/sorted_set.rb
Instance Attribute Summary
Attributes inherited from Object
#redis_key
Instance Method Summary
collapse
Methods inherited from Object
configure, #connection, connection, #delete, #dump, #exists?, #expire, #expireat, flushdb, #initialize, #namespace, #persist, #pttl, #ttl, #type
Instance Method Details
#add(score, item) ⇒ Object
5
6
7
|
# File 'lib/redis_rds/sorted_set.rb', line 5
def add(score, item)
return connection.zadd(@redis_key, score, item)
end
|
15
16
17
|
# File 'lib/redis_rds/sorted_set.rb', line 15
def all
return connection.zrange(@redis_key, 0, -1).to_a
end
|
#each(&block) ⇒ Object
TODO: Implement lazy enumerator
57
58
59
|
# File 'lib/redis_rds/sorted_set.rb', line 57
def each(&block)
return all.each(&block)
end
|
#empty? ⇒ Boolean
19
20
21
|
# File 'lib/redis_rds/sorted_set.rb', line 19
def empty?
return size == 0
end
|
#include?(item) ⇒ Boolean
27
28
29
|
# File 'lib/redis_rds/sorted_set.rb', line 27
def include?(item)
return !index_of(item).nil?
end
|
#index_of(item) ⇒ Object
48
49
50
|
# File 'lib/redis_rds/sorted_set.rb', line 48
def index_of(item)
return connection.zrank(@redis_key, item)
end
|
#push(item) ⇒ Object
Also known as:
<<
9
10
11
12
|
# File 'lib/redis_rds/sorted_set.rb', line 9
def push(item)
index = size
return add(index, item)
end
|
#range(min, max, order: :asc) ⇒ Object
39
40
41
42
43
44
45
46
|
# File 'lib/redis_rds/sorted_set.rb', line 39
def range(min, max, order: :asc)
case order
when :desc
connection.zrevrange(@redis_key, min, max)
else
connection.zrange(@redis_key, min, max)
end
end
|
#remove(item) ⇒ Object
31
32
33
|
# File 'lib/redis_rds/sorted_set.rb', line 31
def remove(item)
return connection.zrem(@redis_key, item)
end
|
#remove_by_score(min, max) ⇒ Object
35
36
37
|
# File 'lib/redis_rds/sorted_set.rb', line 35
def remove_by_score(min, max)
return connection.zremrangebyscore(@redis_key, min, max)
end
|
23
24
25
|
# File 'lib/redis_rds/sorted_set.rb', line 23
def size
return connection.zcard(@redis_key)
end
|
52
53
54
|
# File 'lib/redis_rds/sorted_set.rb', line 52
def to_json
return all.to_json
end
|