Class: PseudoCleaner::RedisBasedRedisCleaner
Constant Summary
Constants inherited
from RedisCleaner
PseudoCleaner::RedisCleaner::ALL_COMMANDS, PseudoCleaner::RedisCleaner::COMMANDS, PseudoCleaner::RedisCleaner::FLUSH_COMMANDS, PseudoCleaner::RedisCleaner::NIL_FAIL_COMMANDS, PseudoCleaner::RedisCleaner::NUM_CHANGED_COMMANDS, PseudoCleaner::RedisCleaner::OVERRIDE_COMMANDS, PseudoCleaner::RedisCleaner::POP_COMMANDS, PseudoCleaner::RedisCleaner::READ_COMMANDS, PseudoCleaner::RedisCleaner::WRITE_COMMANDS
Instance Attribute Summary
Attributes inherited from RedisCleaner
#options
Instance Method Summary
collapse
#<=>, #extract_key, #extract_keys, #ignore_regexes, #initialize, #method_missing, #peek_values, #process_command, #redis, #redis_name, #report_dirty_values, #report_end_of_suite_state, #report_record, #reset_suite, #respond_to?, #respond_to_missing?, #review_rows, #self_respond_to?, #split_read_values, #start_monitor, #suite_start, #suspend_tracking, #synchronize_test_values, #test_end, #test_start, #track_reads, #track_reads=, #type
Instance Method Details
#add_set_value(value_name, value) ⇒ Object
120
121
122
|
# 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) ⇒ Object
110
111
112
113
114
115
116
117
118
|
# 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) ⇒ Object
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
# 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 ⇒ Object
6
7
8
|
# File 'lib/pseudo_cleaner/redis_based_redis_cleaner.rb', line 6
def base_key
"PseudoCleaner::RedisBasedRedisCleaner"
end
|
#bool_name(value_name) ⇒ Object
19
20
21
|
# 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) ⇒ Object
87
88
89
90
91
92
93
|
# 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) ⇒ Object
99
100
101
102
103
104
105
106
107
108
|
# 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) ⇒ Object
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
|
# 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) ⇒ Object
57
58
59
|
# 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) ⇒ Object
132
133
134
|
# 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) ⇒ Object
27
28
29
|
# 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) ⇒ Object
14
15
16
17
|
# 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) ⇒ Object
31
32
33
|
# 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) ⇒ Object
124
125
126
|
# 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) ⇒ Boolean
128
129
130
|
# 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) ⇒ Object
95
96
97
|
# 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) ⇒ Object
23
24
25
|
# 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 ⇒ Object
10
11
12
|
# 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) ⇒ Object
35
36
37
|
# 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) ⇒ Object
136
137
138
139
140
141
142
|
# 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
|