redis_token 0.0.3 → 0.0.4
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/README.md +13 -0
- data/lib/redis_token/version.rb +1 -1
- data/lib/redis_token.rb +39 -16
- 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: dcf6777bd64b7edcf40d35f801b5d4c02710aa15
|
4
|
+
data.tar.gz: 36d9f23b0639760c52e6da3542a5ddc42e6daa03
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c0f69f527ca4b973da240aac91d68cd8b41e3e9bed3cddd58e07db4581c103b6f356dae807047b7ed0f65d1908d55ee2133a239e3ef7128971ee79ab235ff834
|
7
|
+
data.tar.gz: 4e0db086c2aad9462374682414f0cb9239ec9cd35d4cf48be397fe4899e7ad4d5a57fecb05c3225f4cd10c3a390589de757aab21cf2c385d53b755f7fa532723
|
data/README.md
CHANGED
@@ -127,3 +127,16 @@ r.owned_by('u.555').each { |t,v| p "#{t}: #{v}" }
|
|
127
127
|
# "17f7cb676e67d6b53c48e51f1c1beeb1: {:owner=>\"u.555\", :at=>2017-08-18 16:02:10 +0300}"
|
128
128
|
# => nil
|
129
129
|
```
|
130
|
+
|
131
|
+
### Delete token
|
132
|
+
|
133
|
+
```ruby
|
134
|
+
r.delete('865249d6b87c4e6dd8f6b0796ace7fa0')
|
135
|
+
# => true
|
136
|
+
```
|
137
|
+
|
138
|
+
### Delete all tokens of an owner
|
139
|
+
```ruby
|
140
|
+
r.delete_all('client.1')
|
141
|
+
# => 8
|
142
|
+
```
|
data/lib/redis_token/version.rb
CHANGED
data/lib/redis_token.rb
CHANGED
@@ -119,22 +119,7 @@ class RedisToken
|
|
119
119
|
#
|
120
120
|
# @return [Enumerator]
|
121
121
|
def owned_by(owner)
|
122
|
-
|
123
|
-
|
124
|
-
Enumerator.new do |y|
|
125
|
-
cursor = 0
|
126
|
-
loop do
|
127
|
-
cursor, r = @redis.scan(cursor, match: mask)
|
128
|
-
cursor = cursor.to_i
|
129
|
-
|
130
|
-
r.each do |key|
|
131
|
-
token = owner_key_to_token(owner, key)
|
132
|
-
y << [token, redis_get(token_to_key(token))]
|
133
|
-
end
|
134
|
-
|
135
|
-
break if cursor == 0
|
136
|
-
end
|
137
|
-
end
|
122
|
+
owned_tokens(owner).map { |token| [token, redis_get(token_to_key(token))]}
|
138
123
|
end
|
139
124
|
|
140
125
|
# Delete a token
|
@@ -155,6 +140,25 @@ class RedisToken
|
|
155
140
|
true
|
156
141
|
end
|
157
142
|
|
143
|
+
alias delete del
|
144
|
+
|
145
|
+
# Delete all tokens of an owner
|
146
|
+
#
|
147
|
+
# @params [String] owner
|
148
|
+
#
|
149
|
+
# @return [Integer] number of deleted tokens
|
150
|
+
def del_all(owner)
|
151
|
+
deleted = 0
|
152
|
+
owned_tokens(owner).each do |token|
|
153
|
+
del(token)
|
154
|
+
deleted += 1
|
155
|
+
end
|
156
|
+
|
157
|
+
deleted
|
158
|
+
end
|
159
|
+
|
160
|
+
alias delete_all del_all
|
161
|
+
|
158
162
|
# Retrieve the remaining ttl of a token
|
159
163
|
#
|
160
164
|
# @return [Integer] ttl
|
@@ -190,4 +194,23 @@ class RedisToken
|
|
190
194
|
return unless value
|
191
195
|
Marshal.load(value)
|
192
196
|
end
|
197
|
+
|
198
|
+
def owned_tokens(owner)
|
199
|
+
mask = "#{@prefix}#{owner}.*"
|
200
|
+
|
201
|
+
Enumerator.new do |y|
|
202
|
+
cursor = 0
|
203
|
+
loop do
|
204
|
+
cursor, r = @redis.scan(cursor, match: mask)
|
205
|
+
cursor = cursor.to_i
|
206
|
+
|
207
|
+
r.each do |key|
|
208
|
+
token = owner_key_to_token(owner, key)
|
209
|
+
y << token
|
210
|
+
end
|
211
|
+
|
212
|
+
break if cursor == 0
|
213
|
+
end
|
214
|
+
end
|
215
|
+
end
|
193
216
|
end
|