Sha256: 91ba3002da2ec51ffe4d4a462746a936af659cac1db545c96d6adc9ffd6d0d1f

Contents?: true

Size: 1.11 KB

Versions: 8

Compression:

Stored size: 1.11 KB

Contents

# frozen_string_literal: true

# @api private
# @since 1.0.0
module RedisQueuedLocks::Debugger
  require_relative 'debugger/interface'

  # @return [String]
  #
  # @api private
  # @since 1.0.0
  DEBUG_ENABLED_METHOD = <<~METHOD_DECLARATION.strip.freeze
    def debug(message) = STDOUT.write("#\{message}\n")
  METHOD_DECLARATION

  # @return [String]
  #
  # @api private
  # @since 1.0.0
  DEBUG_DISABLED_MEHTOD = <<~METHOD_DECLARATION.strip.freeze
    def debug(message); end
  METHOD_DECLARATION

  class << self
    # @api private
    # @since 1.0.0
    instance_variable_set(:@enabled, false)

    # @return [void]
    #
    # @api private
    # @since 1.0.0
    def enable!
      @enabled = true
      eval(DEBUG_ENABLED_METHOD)
    end

    # @return [void]
    #
    # @api private
    # @since 1.0.0
    def disable!
      @enabled = false
      eval(DEBUG_DISABLED_MEHTOD)
    end

    # @return [Boolean]
    #
    # @api private
    # @since 1.0.0
    def enabled?
      @enabled
    end

    # @param message [String]
    # @return [void]
    #
    # @api private
    # @since 1.0.0
    def debug(message); 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/debugger.rb
redis_queued_locks-1.12.0 lib/redis_queued_locks/debugger.rb
redis_queued_locks-1.11.0 lib/redis_queued_locks/debugger.rb
redis_queued_locks-1.10.0 lib/redis_queued_locks/debugger.rb
redis_queued_locks-1.9.0 lib/redis_queued_locks/debugger.rb
redis_queued_locks-1.8.0 lib/redis_queued_locks/debugger.rb
redis_queued_locks-1.7.0 lib/redis_queued_locks/debugger.rb
redis_queued_locks-1.2.0 lib/redis_queued_locks/debugger.rb