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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 205c12fa971ade2664f14967d963a58a60cf6aae
4
- data.tar.gz: 689b9efad5b6ac4b673db5c962c3bd7c671543bc
3
+ metadata.gz: dcf6777bd64b7edcf40d35f801b5d4c02710aa15
4
+ data.tar.gz: 36d9f23b0639760c52e6da3542a5ddc42e6daa03
5
5
  SHA512:
6
- metadata.gz: ac422db8b636f8c5c23e6f9c9b5aeb9a431a7cd60b74f1065f5ac845920fb39fc336df613318f80423f9f6819944d4233dcff5ccd0627f126d8fa0eebdc927f7
7
- data.tar.gz: 464caf700fb7ad45a7959e0530187ec923fc70e9d8326ad5d6095e6bf0cdca2028b7b1f21edf45760f369f7a576fafa1a1d17008b8a28ff9c1339658ceb33afc
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
+ ```
@@ -1,3 +1,3 @@
1
1
  class RedisToken
2
- VERSION = '0.0.3'.freeze
2
+ VERSION = '0.0.4'.freeze
3
3
  end
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
- mask = "#{@prefix}#{owner}.*"
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
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: redis_token
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Artem Baikuzin