Sha256: 8878892e3b638eafec284b8b663d55086316a4bde3f001113cd71e7bf7b9e578

Contents?: true

Size: 1.25 KB

Versions: 24

Compression:

Stored size: 1.25 KB

Contents

# frozen_string_literal: true

module SidekiqUniqueJobs
  module Redis
    #
    # Class Hash provides convenient access to redis hashes
    #
    # @author Mikael Henriksson <mikael@zoolutions.se>
    #
    class Hash < Entity
      #
      # Return entries for this hash
      #
      # @param [true,false] with_values false return hash
      #
      # @return [Array<Object>] when given with_values: false
      # @return [Hash<String, String>] when given with_values: true
      #
      def entries(with_values: false)
        if with_values
          redis { |conn| conn.hgetall(key) }
        else
          redis { |conn| conn.hkeys(key) }
        end
      end

      #
      # Removes the key from redis
      #
      def del(*fields)
        redis { |conn| conn.hdel(key, *fields) }
      end

      #
      # Get a members value
      #
      # @param [String] member the member who's value to get
      #
      # @return [Object] whatever is stored on this hash member
      #
      def [](member)
        redis { |conn| conn.hget(key, member) }
      end

      #
      # Returns the count for this hash
      #
      #
      # @return [Integer] the length of this hash
      #
      def count
        redis { |conn| conn.hlen(key) }
      end
    end
  end
end

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
sidekiq-unique-jobs-7.0.0.beta25 lib/sidekiq_unique_jobs/redis/hash.rb
sidekiq-unique-jobs-7.0.0.beta24 lib/sidekiq_unique_jobs/redis/hash.rb
sidekiq-unique-jobs-7.0.0.beta23 lib/sidekiq_unique_jobs/redis/hash.rb
sidekiq-unique-jobs-7.0.0.beta22 lib/sidekiq_unique_jobs/redis/hash.rb
sidekiq-unique-jobs-7.0.0.beta21 lib/sidekiq_unique_jobs/redis/hash.rb
sidekiq-unique-jobs-7.0.0.beta20 lib/sidekiq_unique_jobs/redis/hash.rb
sidekiq-unique-jobs-7.0.0.beta19 lib/sidekiq_unique_jobs/redis/hash.rb
sidekiq-unique-jobs-7.0.0.beta18 lib/sidekiq_unique_jobs/redis/hash.rb
sidekiq-unique-jobs-7.0.0.beta17 lib/sidekiq_unique_jobs/redis/hash.rb
sidekiq-unique-jobs-7.0.0.beta16 lib/sidekiq_unique_jobs/redis/hash.rb
sidekiq-unique-jobs-7.0.0.beta15 lib/sidekiq_unique_jobs/redis/hash.rb
sidekiq-unique-jobs-7.0.0.beta14 lib/sidekiq_unique_jobs/redis/hash.rb
sidekiq-unique-jobs-7.0.0.beta13 lib/sidekiq_unique_jobs/redis/hash.rb
sidekiq-unique-jobs-7.0.0.beta12 lib/sidekiq_unique_jobs/redis/hash.rb
sidekiq-unique-jobs-7.0.0.beta11 lib/sidekiq_unique_jobs/redis/hash.rb
sidekiq-unique-jobs-7.0.0.beta10 lib/sidekiq_unique_jobs/redis/hash.rb
sidekiq-unique-jobs-7.0.0.beta9 lib/sidekiq_unique_jobs/redis/hash.rb
sidekiq-unique-jobs-7.0.0.beta8 lib/sidekiq_unique_jobs/redis/hash.rb
sidekiq-unique-jobs-7.0.0.beta7 lib/sidekiq_unique_jobs/redis/hash.rb
sidekiq-unique-jobs-7.0.0.beta6 lib/sidekiq_unique_jobs/redis/hash.rb