Sha256: 20fda9ee9cad0fec92bd7112fe8fd937cc465cb2ce4c70878db24c750b2da243

Contents?: true

Size: 754 Bytes

Versions: 17

Compression:

Stored size: 754 Bytes

Contents

module CanvasSync::JobUniqueness
  class Configuration
    include ActiveSupport::Configurable

    config_accessor(:lock_ttl) { 14.days.to_i }
    config_accessor(:lock_prefix) { 'uniquejob' }
    config_accessor(:on_conflict) { :raise }

    config_accessor(:lock_strategies) { {} }
    config_accessor(:conflict_strategies) { {} }

    config_accessor(:redis_version) { nil }
    def on_conflict=(action)
      validate_on_conflict_action!(action)

      config.on_conflict = action
    end

    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
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
canvas_sync-0.22.9 lib/canvas_sync/job_uniqueness/configuration.rb
canvas_sync-0.22.8 lib/canvas_sync/job_uniqueness/configuration.rb
canvas_sync-0.22.6 lib/canvas_sync/job_uniqueness/configuration.rb
canvas_sync-0.22.5 lib/canvas_sync/job_uniqueness/configuration.rb
canvas_sync-0.22.4 lib/canvas_sync/job_uniqueness/configuration.rb
canvas_sync-0.22.3 lib/canvas_sync/job_uniqueness/configuration.rb
canvas_sync-0.22.2 lib/canvas_sync/job_uniqueness/configuration.rb
canvas_sync-0.22.1 lib/canvas_sync/job_uniqueness/configuration.rb
canvas_sync-0.22.0 lib/canvas_sync/job_uniqueness/configuration.rb
canvas_sync-0.22.0.beta8 lib/canvas_sync/job_uniqueness/configuration.rb
canvas_sync-0.22.0.beta7 lib/canvas_sync/job_uniqueness/configuration.rb
canvas_sync-0.22.0.beta6 lib/canvas_sync/job_uniqueness/configuration.rb
canvas_sync-0.22.0.beta5 lib/canvas_sync/job_uniqueness/configuration.rb
canvas_sync-0.22.0.beta4 lib/canvas_sync/job_uniqueness/configuration.rb
canvas_sync-0.22.0.beta3 lib/canvas_sync/job_uniqueness/configuration.rb
canvas_sync-0.22.0.beta2 lib/canvas_sync/job_uniqueness/configuration.rb
canvas_sync-0.22.0.beta1 lib/canvas_sync/job_uniqueness/configuration.rb