class Split::RedisInterface
Simplifies the interface to Redis.
Attributes
redis[RW]
Public Class Methods
new()
click to toggle source
# File lib/split/redis_interface.rb, line 5 def initialize self.redis = Split.redis end
Public Instance Methods
add_to_list(list_name, value)
click to toggle source
# File lib/split/redis_interface.rb, line 22 def add_to_list(list_name, value) redis.rpush(list_name, value) end
add_to_set(set_name, value)
click to toggle source
# File lib/split/redis_interface.rb, line 42 def add_to_set(set_name, value) redis.sadd(set_name, value) unless redis.sismember(set_name, value) end
list_length(list_name)
click to toggle source
# File lib/split/redis_interface.rb, line 30 def list_length(list_name) redis.llen(list_name) end
make_list_length(list_name, new_length)
click to toggle source
# File lib/split/redis_interface.rb, line 38 def make_list_length(list_name, new_length) redis.ltrim(list_name, 0, new_length - 1) end
persist_list(list_name, list_values)
click to toggle source
# File lib/split/redis_interface.rb, line 9 def persist_list(list_name, list_values) max_index = list_length(list_name) - 1 list_values.each_with_index do |value, index| if index > max_index add_to_list(list_name, value) else set_list_index(list_name, index, value) end end make_list_length(list_name, list_values.length) list_values end
remove_last_item_from_list(list_name)
click to toggle source
# File lib/split/redis_interface.rb, line 34 def remove_last_item_from_list(list_name) redis.rpop(list_name) end
set_list_index(list_name, index, value)
click to toggle source
# File lib/split/redis_interface.rb, line 26 def set_list_index(list_name, index, value) redis.lset(list_name, index, value) end