lib/redis_token.rb in redis_token-0.0.2 vs lib/redis_token.rb in redis_token-0.0.3

- old
+ new

@@ -114,23 +114,27 @@ end # Iterate all exist tokens of an owner # # @param [String] owner - def each(owner) + # + # @return [Enumerator] + def owned_by(owner) mask = "#{@prefix}#{owner}.*" - cursor = 0 - loop do - cursor, r = @redis.scan(cursor, match: mask) - cursor = cursor.to_i + Enumerator.new do |y| + cursor = 0 + loop do + cursor, r = @redis.scan(cursor, match: mask) + cursor = cursor.to_i - r.each do |key| - token = owner_key_to_token(owner, key) - yield(token, redis_get(token_to_key(token))) - end + r.each do |key| + token = owner_key_to_token(owner, key) + y << [token, redis_get(token_to_key(token))] + end - break if cursor == 0 + break if cursor == 0 + end end end # Delete a token #