Class: RedisRds::SortedStringSet

Inherits:
SortedSet show all
Defined in:
lib/redis_rds/sorted_string_set.rb

Constant Summary collapse

DEFAULT_SCORE =
0

Instance Attribute Summary

Attributes inherited from Object

#redis_key

Instance Method Summary collapse

Methods inherited from SortedSet

#each, #empty?, #include?, #index_of, #remove_by_score, #size, #to_json

Methods inherited from Object

configure, #connection, connection, #delete, #dump, #exists?, #expire, #expireat, flushdb, #initialize, #namespace, #persist, #pttl, #ttl, #type

Constructor Details

This class inherits a constructor from RedisRds::Object

Instance Method Details

#add(item) ⇒ Object



5
6
7
# File 'lib/redis_rds/sorted_string_set.rb', line 5

def add(item)
  super(DEFAULT_SCORE, item)
end

#allObject



13
14
15
# File 'lib/redis_rds/sorted_string_set.rb', line 13

def all
  return range('-', '+').to_a
end

#push(item) ⇒ Object



9
10
11
# File 'lib/redis_rds/sorted_string_set.rb', line 9

def push(item)
  return add(item)
end

#range(min, max) ⇒ Object



21
22
23
24
25
26
27
28
# File 'lib/redis_rds/sorted_string_set.rb', line 21

def range(min, max)
  min, max = [min, max].map do |r|
    next(r) if ['-', '+'].include?(r) || r.start_with?('[') || r.start_with?('(')
    "[#{r}"
  end

  return connection.zrangebylex(@redis_key, min, max)
end

#remove(item) ⇒ Object



17
18
19
# File 'lib/redis_rds/sorted_string_set.rb', line 17

def remove(item)
  return connection.zrem(@redis_key, item)
end