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 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