pseudo_cleaner 0.0.43 → 0.0.44

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- NDZkNTM0YTI5M2ZhMDk4NGNiMzc3Mzk2YmRiMTFhNmNkNDI4NmI1Zg==
4
+ NjdlNjljY2EyNGEyM2I1NjNmNWVkNmExODQzMjQ5NGQwMDI5ZTFhNw==
5
5
  data.tar.gz: !binary |-
6
- NTU1ZDM0NzQxOTg4OTlkNDRkY2YzMWQ1NGQ2ZDhlOGI4NDBmMGI0MQ==
6
+ YzZlNjdkMTkzZDg1MTFjZDc0MDI2MWFmODZlMjhjODNiMTg4MjE2Zg==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- ZGIyZTI0ODJjMmZiNjBiZDQyODcwMzU1MWI1Y2ZjNmViYjFlOWUzZTQ5Mjc3
10
- ZmJlNWVhNTJmMDJjMDY3MmMxY2MxM2ZiNGQyNzI3Y2ViZDJiZDE5NmY1N2Q3
11
- OTQ1NzM3OTQ1NzRjMTVkOTJjNDcwNjAzNjhiYWZlM2UzZGFjMWU=
9
+ ZDRjY2U2NThiOTViODZjYjYyMmFkZDAyN2UxNmFjNzU3YTIyMDlmYjlmMjZj
10
+ OWM4ZmJjNjZhNTk4OGVkYTM0ZjI2NjczOGE3YjdjOThlYTRhYmVkYjIzNDZh
11
+ Njg4NWIwZWM2MDE2NDM4Y2YzNDZjMTA3NmU3YmNhZGFlYzgxMjU=
12
12
  data.tar.gz: !binary |-
13
- Nzk5OGNkN2ExMTA5MzAwMWMyZDM3NGQyZDJmOTY0MzMzOTM0YTdmNTQ1Y2Q0
14
- ZTVjOWFhM2U1NTljYjgzMTJiNTY5YTA5Y2JkMTU1MmJlMjdmNmFhZGZjZDg2
15
- NjIxYjBlY2QwMTk1Zjc5ZjdhZDAyYTRlODdkNWQyN2Q5MDEyOGI=
13
+ ZGZiYjg1MDA3YmRlZmU2ZDBmMDM3NTFhZDA3OTk1Y2MzMzUzZjc2Y2E1OWMy
14
+ MzI3ZDFiNmZjNzZlM2RkYWZhYjNlZGY1OTJlYjY1YmUxOWFjY2Y3OGJlMjZk
15
+ Mjc5YTA2NDQ4ZWVjZjQzMWI4NzFjOWUxMmE0YWM5MDRiMjBlNTA=
@@ -0,0 +1,144 @@
1
+ require "pseudo_cleaner/redis_cleaner"
2
+ require "json"
3
+
4
+ module PseudoCleaner
5
+ class RedisBasedRedisCleaner < PseudoCleaner::RedisCleaner
6
+ def base_key
7
+ "PseudoCleaner::RedisBasedRedisCleaner"
8
+ end
9
+
10
+ def settings_redis
11
+ @settings_redis ||= Redis.new(redis.client.options)
12
+ end
13
+
14
+ def ignore_key(key)
15
+ key =~ /#{base_key}/ ||
16
+ ignore_regexes.detect { |ignore_regex| key =~ ignore_regex }
17
+ end
18
+
19
+ def bool_name(value_name)
20
+ "#{base_key}::#{value_name}"
21
+ end
22
+
23
+ def set_value_bool(value_name, bool_value)
24
+ settings_redis.set bool_name(value_name), (!!bool_value).to_s
25
+ end
26
+
27
+ def get_value_bool(value_name)
28
+ settings_redis.get(bool_name(value_name)) != "false"
29
+ end
30
+
31
+ def list_name(value_name)
32
+ "#{base_key}::#{value_name}"
33
+ end
34
+
35
+ def sub_list_name(value_name, index)
36
+ "#{list_name(value_name)}::#{index}"
37
+ end
38
+
39
+ def append_list_value_array(value_name, array_value)
40
+ list_len = settings_redis.llen list_name(value_name)
41
+
42
+ sub_name = sub_list_name(value_name, list_len)
43
+
44
+ settings_redis.multi do
45
+ array_value.each do |value|
46
+ if value.is_a?(Hash)
47
+ settings_redis.rpush sub_name, "h#{value.to_json}"
48
+ else
49
+ settings_redis.rpush sub_name, "s#{value}"
50
+ end
51
+ end
52
+
53
+ settings_redis.rpush list_name(value_name), sub_name
54
+ end
55
+ end
56
+
57
+ def get_list_length(value_name)
58
+ settings_redis.llen list_name(value_name)
59
+ end
60
+
61
+ def get_list_array(value_name)
62
+ list_len = settings_redis.llen list_name(value_name)
63
+
64
+ list_array = []
65
+ list_len.times do |index|
66
+ sub_name = sub_list_name value_name, index
67
+
68
+ value_array = []
69
+ values = settings_redis.lrange(sub_name, 0, -1)
70
+
71
+ values.each do |value|
72
+ if value [0] == "h"
73
+ value = JSON.parse(value[1..-1])
74
+ else
75
+ value = value[1..-1]
76
+ end
77
+
78
+ value_array << value
79
+ end
80
+
81
+ list_array << value_array
82
+ end
83
+
84
+ list_array
85
+ end
86
+
87
+ def clear_list_array(value_name)
88
+ settings_redis.lrange(list_name(value_name), 0, -1).each do |sub_list_name|
89
+ settings_redis.del sub_list_name
90
+ end
91
+
92
+ settings_redis.del list_name(value_name)
93
+ end
94
+
95
+ def set_name(value_name)
96
+ "#{base_key}::#{value_name}"
97
+ end
98
+
99
+ def clear_set(value_name, keys = nil)
100
+ clear_name = set_name(value_name)
101
+ settings_redis.del clear_name
102
+
103
+ if keys
104
+ keys.each do |key|
105
+ settings_redis.sadd clear_name, key
106
+ end
107
+ end
108
+ end
109
+
110
+ def add_set_values(value_name, *values)
111
+ add_name = set_name(value_name)
112
+
113
+ settings_redis.multi do
114
+ values.each do |value|
115
+ settings_redis.sadd add_name, value
116
+ end
117
+ end
118
+ end
119
+
120
+ def add_set_value(value_name, value)
121
+ settings_redis.sadd set_name(value_name), value
122
+ end
123
+
124
+ def remove_set_value(value_name, value)
125
+ settings_redis.srem set_name(value_name), value
126
+ end
127
+
128
+ def set_includes?(value_name, value)
129
+ settings_redis.sismember set_name(value_name), value
130
+ end
131
+
132
+ def get_set(value_name)
133
+ SortedSet.new(settings_redis.smembers(set_name(value_name)))
134
+ end
135
+
136
+ def suite_end test_strategy
137
+ super test_strategy
138
+
139
+ settings_redis.keys("#{base_key}*").each do |key|
140
+ settings_redis.del key
141
+ end
142
+ end
143
+ end
144
+ end