Module: Resque::UniqueByArity

Defined in:
lib/resque/unique_by_arity.rb,
lib/resque/unique_by_arity/version.rb,
lib/resque/unique_by_arity/modulizer.rb,
lib/resque/unique_by_arity/validation.rb,
lib/resque/unique_by_arity/configuration.rb

Defined Under Namespace

Modules: Modulizer, Validation Classes: Configuration

Constant Summary collapse

PLUGIN_TAG =
(ColorizedString['[R-UBA] '].green).freeze
VERSION =
'2.0.0'.freeze

Class Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Class Attribute Details

.uniqueness_configurationObject

Returns the value of attribute uniqueness_configuration.



61
62
63
# File 'lib/resque/unique_by_arity.rb', line 61

def uniqueness_configuration
  @uniqueness_configuration
end

Class Method Details

.unique_debug(message, config_proxy = nil) ⇒ Object



41
42
43
44
# File 'lib/resque/unique_by_arity.rb', line 41

def unique_debug(message, config_proxy = nil)
  config_proxy ||= uniqueness_configuration
  config_proxy.unique_logger&.debug("#{Resque::UniqueByArity::PLUGIN_TAG}#{message}") if config_proxy.debug_mode
end

.unique_log(message, config_proxy = nil) ⇒ Object



36
37
38
39
# File 'lib/resque/unique_by_arity.rb', line 36

def unique_log(message, config_proxy = nil)
  config_proxy ||= uniqueness_configuration
  config_proxy.unique_logger&.send(config_proxy.unique_log_level, message) if config_proxy.unique_logger
end

Instance Method Details

#uniq_configObject

There are times when the class will need access to the configuration object,

such as to override it per instance method


49
50
51
# File 'lib/resque/unique_by_arity.rb', line 49

def uniq_config
  @uniqueness_configuration
end

#uniqueness_arity_for_uniquenessObject



75
76
77
# File 'lib/resque/unique_by_arity.rb', line 75

def uniqueness_arity_for_uniqueness
  @uniqueness_configuration.arity_for_uniqueness
end

#uniqueness_arity_for_uniqueness=(arity_for_uniqueness) ⇒ Object



79
80
81
# File 'lib/resque/unique_by_arity.rb', line 79

def uniqueness_arity_for_uniqueness=(arity_for_uniqueness)
  @uniqueness_configuration.arity_for_uniqueness = arity_for_uniqueness
end

#uniqueness_arity_validationObject



83
84
85
# File 'lib/resque/unique_by_arity.rb', line 83

def uniqueness_arity_validation
  @uniqueness_configuration.arity_validation
end

#uniqueness_arity_validation=(arity_validation) ⇒ Object



87
88
89
# File 'lib/resque/unique_by_arity.rb', line 87

def uniqueness_arity_validation=(arity_validation)
  @uniqueness_configuration.arity_validation = arity_validation
end

#uniqueness_config_reset(config = Configuration.new) ⇒ Object



63
64
65
# File 'lib/resque/unique_by_arity.rb', line 63

def uniqueness_config_reset(config = Configuration.new)
  @uniqueness_configuration = config
end

#uniqueness_configure {|@uniqueness_configuration| ... } ⇒ Object

For per-class config with a block



54
55
56
57
# File 'lib/resque/unique_by_arity.rb', line 54

def uniqueness_configure
  @uniqueness_configuration ||= Configuration.new
  yield(@uniqueness_configuration)
end

#uniqueness_lock_after_execution_periodObject



91
92
93
# File 'lib/resque/unique_by_arity.rb', line 91

def uniqueness_lock_after_execution_period
  @uniqueness_configuration.lock_after_execution_period
end

#uniqueness_lock_after_execution_period=(lock_after_execution_period) ⇒ Object



95
96
97
# File 'lib/resque/unique_by_arity.rb', line 95

def uniqueness_lock_after_execution_period=(lock_after_execution_period)
  @uniqueness_configuration.lock_after_execution_period = lock_after_execution_period
end

#uniqueness_log_levelObject



67
68
69
# File 'lib/resque/unique_by_arity.rb', line 67

def uniqueness_log_level
  @uniqueness_configuration.log_level
end

#uniqueness_log_level=(log_level) ⇒ Object



71
72
73
# File 'lib/resque/unique_by_arity.rb', line 71

def uniqueness_log_level=(log_level)
  @uniqueness_configuration.log_level = log_level
end

#uniqueness_runtime_lock_timeoutObject



99
100
101
# File 'lib/resque/unique_by_arity.rb', line 99

def uniqueness_runtime_lock_timeout
  @uniqueness_configuration.runtime_lock_timeout
end

#uniqueness_runtime_lock_timeout=(runtime_lock_timeout) ⇒ Object



103
104
105
# File 'lib/resque/unique_by_arity.rb', line 103

def uniqueness_runtime_lock_timeout=(runtime_lock_timeout)
  @uniqueness_configuration.runtime_lock_timeout = runtime_lock_timeout
end

#uniqueness_unique_across_queuesObject



123
124
125
# File 'lib/resque/unique_by_arity.rb', line 123

def uniqueness_unique_across_queues
  @uniqueness_configuration.unique_across_queues
end

#uniqueness_unique_across_queues=(unique_across_queues) ⇒ Object



127
128
129
# File 'lib/resque/unique_by_arity.rb', line 127

def uniqueness_unique_across_queues=(unique_across_queues)
  @uniqueness_configuration.unique_across_queues = unique_across_queues
end

#uniqueness_unique_at_runtimeObject



107
108
109
# File 'lib/resque/unique_by_arity.rb', line 107

def uniqueness_unique_at_runtime
  @uniqueness_configuration.unique_at_runtime
end

#uniqueness_unique_at_runtime=(unique_at_runtime) ⇒ Object



111
112
113
# File 'lib/resque/unique_by_arity.rb', line 111

def uniqueness_unique_at_runtime=(unique_at_runtime)
  @uniqueness_configuration.unique_at_runtime = unique_at_runtime
end

#uniqueness_unique_in_queueObject



115
116
117
# File 'lib/resque/unique_by_arity.rb', line 115

def uniqueness_unique_in_queue
  @uniqueness_configuration.unique_in_queue
end

#uniqueness_unique_in_queue=(unique_in_queue) ⇒ Object



119
120
121
# File 'lib/resque/unique_by_arity.rb', line 119

def uniqueness_unique_in_queue=(unique_in_queue)
  @uniqueness_configuration.unique_in_queue = unique_in_queue
end