class PseudoCleaner::RedisBasedRedisCleaner

Public Instance Methods

add_set_value(value_name, value) click to toggle source
# File lib/pseudo_cleaner/redis_based_redis_cleaner.rb, line 120
def add_set_value(value_name, value)
  settings_redis.sadd set_name(value_name), value
end
add_set_values(value_name, *values) click to toggle source
# File lib/pseudo_cleaner/redis_based_redis_cleaner.rb, line 110
def add_set_values(value_name, *values)
  add_name = set_name(value_name)

  settings_redis.multi do
    values.each do |value|
      settings_redis.sadd add_name, value
    end
  end
end
append_list_value_array(value_name, array_value) click to toggle source
# File lib/pseudo_cleaner/redis_based_redis_cleaner.rb, line 39
def append_list_value_array(value_name, array_value)
  list_len = settings_redis.llen list_name(value_name)

  sub_name = sub_list_name(value_name, list_len)

  settings_redis.multi do
    array_value.each do |value|
      if value.is_a?(Hash)
        settings_redis.rpush sub_name, "h#{value.to_json}"
      else
        settings_redis.rpush sub_name, "s#{value}"
      end
    end

    settings_redis.rpush list_name(value_name), sub_name
  end
end
base_key() click to toggle source
# File lib/pseudo_cleaner/redis_based_redis_cleaner.rb, line 6
def base_key
  "PseudoCleaner::RedisBasedRedisCleaner"
end
bool_name(value_name) click to toggle source
# File lib/pseudo_cleaner/redis_based_redis_cleaner.rb, line 19
def bool_name(value_name)
  "#{base_key}::#{value_name}"
end
clear_list_array(value_name) click to toggle source
# File lib/pseudo_cleaner/redis_based_redis_cleaner.rb, line 87
def clear_list_array(value_name)
  settings_redis.lrange(list_name(value_name), 0, -1).each do |sub_list_name|
    settings_redis.del sub_list_name
  end

  settings_redis.del list_name(value_name)
end
clear_set(value_name, keys = nil) click to toggle source
# File lib/pseudo_cleaner/redis_based_redis_cleaner.rb, line 99
def clear_set(value_name, keys = nil)
  clear_name = set_name(value_name)
  settings_redis.del clear_name

  if keys
    keys.each do |key|
      settings_redis.sadd clear_name, key
    end
  end
end
get_list_array(value_name) click to toggle source
# File lib/pseudo_cleaner/redis_based_redis_cleaner.rb, line 61
def get_list_array(value_name)
  list_len = settings_redis.llen list_name(value_name)

  list_array = []
  list_len.times do |index|
    sub_name = sub_list_name value_name, index

    value_array = []
    values      = settings_redis.lrange(sub_name, 0, -1)

    values.each do |value|
      if value [0] == "h"
        value = JSON.parse(value[1..-1])
      else
        value = value[1..-1]
      end

      value_array << value
    end

    list_array << value_array
  end

  list_array
end
get_list_length(value_name) click to toggle source
# File lib/pseudo_cleaner/redis_based_redis_cleaner.rb, line 57
def get_list_length(value_name)
  settings_redis.llen list_name(value_name)
end
get_set(value_name) click to toggle source
# File lib/pseudo_cleaner/redis_based_redis_cleaner.rb, line 132
def get_set(value_name)
  SortedSet.new(settings_redis.smembers(set_name(value_name)))
end
get_value_bool(value_name) click to toggle source
# File lib/pseudo_cleaner/redis_based_redis_cleaner.rb, line 27
def get_value_bool(value_name)
  settings_redis.get(bool_name(value_name)) != "false"
end
ignore_key(key) click to toggle source
# File lib/pseudo_cleaner/redis_based_redis_cleaner.rb, line 14
def ignore_key(key)
  key =~ /#{base_key}/ ||
      ignore_regexes.detect { |ignore_regex| key =~ ignore_regex }
end
list_name(value_name) click to toggle source
# File lib/pseudo_cleaner/redis_based_redis_cleaner.rb, line 31
def list_name(value_name)
  "#{base_key}::#{value_name}"
end
remove_set_value(value_name, value) click to toggle source
# File lib/pseudo_cleaner/redis_based_redis_cleaner.rb, line 124
def remove_set_value(value_name, value)
  settings_redis.srem set_name(value_name), value
end
set_includes?(value_name, value) click to toggle source
# File lib/pseudo_cleaner/redis_based_redis_cleaner.rb, line 128
def set_includes?(value_name, value)
  settings_redis.sismember set_name(value_name), value
end
set_name(value_name) click to toggle source
# File lib/pseudo_cleaner/redis_based_redis_cleaner.rb, line 95
def set_name(value_name)
  "#{base_key}::#{value_name}"
end
set_value_bool(value_name, bool_value) click to toggle source
# File lib/pseudo_cleaner/redis_based_redis_cleaner.rb, line 23
def set_value_bool(value_name, bool_value)
  settings_redis.set bool_name(value_name), (!!bool_value).to_s
end
settings_redis() click to toggle source
# File lib/pseudo_cleaner/redis_based_redis_cleaner.rb, line 10
def settings_redis
  @settings_redis ||= Redis.new(redis.client.options)
end
sub_list_name(value_name, index) click to toggle source
# File lib/pseudo_cleaner/redis_based_redis_cleaner.rb, line 35
def sub_list_name(value_name, index)
  "#{list_name(value_name)}::#{index}"
end
suite_end(test_strategy) click to toggle source
Calls superclass method PseudoCleaner::RedisCleaner#suite_end
# File lib/pseudo_cleaner/redis_based_redis_cleaner.rb, line 136
def suite_end test_strategy
  super test_strategy

  settings_redis.keys("#{base_key}*").each do |key|
    settings_redis.del key
  end
end