Sha256: 866eacff11c0ade51f4bb7273371f11c02e5389a6006f0b3f101df40441401dc

Contents?: true

Size: 1.56 KB

Versions: 3

Compression:

Stored size: 1.56 KB

Contents

require 'logger'
module Resque
  module UniqueByArity
    class Configuration
      attr_accessor :logger
      attr_accessor :log_level
      attr_accessor :arity_for_uniqueness
      attr_accessor :lock_after_execution_period
      attr_accessor :unique_at_runtime
      attr_accessor :unique_in_queue
      alias :debug_logger :logger
      alias :debug_log_level :log_level
      alias :debug_arity_for_uniqueness :arity_for_uniqueness
      alias :debug_lock_after_execution_period :lock_after_execution_period
      alias :debug_unique_at_runtime :unique_at_runtime
      alias :debug_unique_in_queue :unique_in_queue
      def initialize(**options)
        @logger = options.key?(:logger) ? options[:logger] : Logger.new(STDOUT)
        @log_level = options.key?(:log_level) ? options[:log_level] : :debug
        @arity_for_uniqueness = options.key?(:arity_for_uniqueness) ? options[:arity_for_uniqueness] : 1
        @lock_after_execution_period = options.key?(:lock_after_execution_period) ? options[:lock_after_execution_period] : nil
        @unique_at_runtime = options.key?(:unique_at_runtime) ? options[:unique_at_runtime] : false
        @unique_in_queue = options.key?(:unique_in_queue) ? options[:unique_in_queue] : false
      end
      def to_hash
        {
            logger: logger,
            log_level: log_level,
            arity_for_uniqueness: arity_for_uniqueness,
            lock_after_execution_period: lock_after_execution_period,
            unique_at_runtime: unique_at_runtime,
            unique_in_queue: unique_in_queue
        }
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
resque-unique_by_arity-0.2.1 lib/resque/unique_by_arity/configuration.rb
resque-unique_by_arity-0.2.0 lib/resque/unique_by_arity/configuration.rb
resque-unique_by_arity-0.1.0 lib/resque/unique_by_arity/configuration.rb