pause 0.2.0 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/pause/redis/adapter.rb +6 -1
- data/lib/pause/version.rb +1 -1
- data/spec/pause/redis/adapter_spec.rb +22 -8
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6c71d4ddaa7df30afce53ce0c5f9cb355326d8f8
|
4
|
+
data.tar.gz: 6ab9fbd9854b7d970bffc0e6436ca788f7303ac5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6960d06f4e402f5f45c8f4c731db11783bce91aa0ba1e3910a41b5ef2a5c75d5365645b32d7a712c0607dfc41c943db489db9ef89f5932a8ceebefd1addaefc3
|
7
|
+
data.tar.gz: 7a6b55e41e5cab30e2d586a190ca7cb12c7a4de691aba0c5698693418d427c9793b33d92d3d70125fdd71d5b6b9dbc92dc7a1bdd517f74e6178386d600983556
|
data/lib/pause/redis/adapter.rb
CHANGED
@@ -54,9 +54,14 @@ module Pause
|
|
54
54
|
|
55
55
|
# For a scope, delete the entire sorted set that holds the block list.
|
56
56
|
# Also delete the original tracking information, so we don't immediately re-block the id
|
57
|
+
#
|
58
|
+
# @return count [Integer] the number of items deleted
|
57
59
|
def delete_rate_limited_keys(scope)
|
60
|
+
return 0 unless rate_limited_keys(scope).any?
|
58
61
|
delete_tracking_keys(scope, rate_limited_keys(scope))
|
59
|
-
redis.
|
62
|
+
redis.zremrangebyscore(rate_limited_list(scope), '-inf', '+inf').tap do |_count|
|
63
|
+
redis.del rate_limited_list(scope)
|
64
|
+
end
|
60
65
|
end
|
61
66
|
|
62
67
|
def delete_rate_limited_key(scope, id)
|
data/lib/pause/version.rb
CHANGED
@@ -137,17 +137,31 @@ describe Pause::Redis::Adapter do
|
|
137
137
|
end
|
138
138
|
|
139
139
|
describe '#delete_rate_limited_keys' do
|
140
|
-
|
141
|
-
|
142
|
-
|
140
|
+
context 'with blocked items' do
|
141
|
+
before do
|
142
|
+
adapter.rate_limit!('boom', '1', 10)
|
143
|
+
adapter.rate_limit!('boom', '2', 10)
|
143
144
|
|
144
|
-
|
145
|
-
|
145
|
+
expect(adapter.rate_limited?('boom', '1')).to be true
|
146
|
+
expect(adapter.rate_limited?('boom', '2')).to be true
|
147
|
+
end
|
146
148
|
|
147
|
-
|
149
|
+
it 'calls redis del with all keys' do
|
150
|
+
adapter.delete_rate_limited_keys('boom')
|
148
151
|
|
149
|
-
|
150
|
-
|
152
|
+
expect(adapter.rate_limited?('boom', '1')).to be false
|
153
|
+
expect(adapter.rate_limited?('boom', '2')).to be false
|
154
|
+
end
|
155
|
+
|
156
|
+
it 'returns the number of unblocked items' do
|
157
|
+
expect(adapter.delete_rate_limited_keys('boom')).to eq(2)
|
158
|
+
end
|
159
|
+
end
|
160
|
+
|
161
|
+
context 'with no blocked items' do
|
162
|
+
it 'returns 0' do
|
163
|
+
expect(adapter.delete_rate_limited_keys('boom')).to eq(0)
|
164
|
+
end
|
151
165
|
end
|
152
166
|
end
|
153
167
|
|