redis_token 0.0.3 → 0.0.4
Sign up to get free protection for your applications and to get access to all the features.
- 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
|