Class: ActiveJob::Uniqueness::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/active_job/uniqueness/configuration.rb

Overview

Use /config/initializer/activejob_uniqueness.rb to configure ActiveJob::Uniqueness

ActiveJob::Uniqueness.configure do |c| c.lock_ttl = 3.hours end

Instance Method Summary collapse

Instance Method Details

#on_conflictObject



21
22
23
# File 'lib/active_job/uniqueness/configuration.rb', line 21

def on_conflict
  _on_conflict
end

#on_conflict=(action) ⇒ Object



25
26
27
28
29
# File 'lib/active_job/uniqueness/configuration.rb', line 25

def on_conflict=(action)
  validate_on_conflict_action!(action)

  self._on_conflict = action
end

#on_redis_connection_errorObject



31
32
33
# File 'lib/active_job/uniqueness/configuration.rb', line 31

def on_redis_connection_error
  _on_redis_connection_error
end

#on_redis_connection_error=(action) ⇒ Object



35
36
37
38
39
# File 'lib/active_job/uniqueness/configuration.rb', line 35

def on_redis_connection_error=(action)
  validate_on_redis_connection_error!(action)

  self._on_redis_connection_error = action
end

#validate_on_conflict_action!(action) ⇒ Object



41
42
43
44
45
# File 'lib/active_job/uniqueness/configuration.rb', line 41

def validate_on_conflict_action!(action)
  return if action.nil? || %i[log raise].include?(action) || action.respond_to?(:call)

  raise ActiveJob::Uniqueness::InvalidOnConflictAction, "Unexpected '#{action}' action on conflict"
end

#validate_on_redis_connection_error!(action) ⇒ Object



47
48
49
50
51
# File 'lib/active_job/uniqueness/configuration.rb', line 47

def validate_on_redis_connection_error!(action)
  return if action.nil? || action == :raise || action.respond_to?(:call)

  raise ActiveJob::Uniqueness::InvalidOnConflictAction, "Unexpected '#{action}' action on_redis_connection_error"
end