Sha256: 78e21ec8f1bfa917c5a87827176c7bda0fdcbde6b8ffc7c1dec34ef73190be43

Contents?: true

Size: 586 Bytes

Versions: 8

Compression:

Stored size: 586 Bytes

Contents

# frozen_string_literal: true

# @api private
# @since 1.0.0
module RedisQueuedLocks::Acquier::Keys
  class << self
    # @param redis_client [RedisClient]
    # @option scan_size [Integer]
    # @return [Array<String>]
    #
    # @api private
    # @since 1.0.0
    def keys(redis_client, scan_size:)
      Set.new.tap do |keys|
        redis_client.scan(
          'MATCH',
          RedisQueuedLocks::Resource::KEY_PATTERN,
          count: scan_size
        ) do |key|
          # TODO: reduce unnecessary iterations
          keys.add(key)
        end
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
redis_queued_locks-1.12.1 lib/redis_queued_locks/acquier/keys.rb
redis_queued_locks-1.12.0 lib/redis_queued_locks/acquier/keys.rb
redis_queued_locks-1.11.0 lib/redis_queued_locks/acquier/keys.rb
redis_queued_locks-1.10.0 lib/redis_queued_locks/acquier/keys.rb
redis_queued_locks-1.9.0 lib/redis_queued_locks/acquier/keys.rb
redis_queued_locks-1.8.0 lib/redis_queued_locks/acquier/keys.rb
redis_queued_locks-1.7.0 lib/redis_queued_locks/acquier/keys.rb
redis_queued_locks-1.2.0 lib/redis_queued_locks/acquier/keys.rb