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