Sha256: 8578b51ff3690f36a472c3f56b1cc906259a6181c84f93380b1334e1006abd48

Contents?: true

Size: 719 Bytes

Versions: 4

Compression:

Stored size: 719 Bytes

Contents

# frozen_string_literal: true

require_relative 'on_conflict/strategy'
require_relative 'on_conflict/null_strategy'
require_relative 'on_conflict/log'
require_relative 'on_conflict/raise'
require_relative 'on_conflict/reject'
require_relative 'on_conflict/replace'
require_relative 'on_conflict/reschedule'

module SidekiqUniqueJobs
  module OnConflict
    STRATEGIES = {
      log: OnConflict::Log,
      raise: OnConflict::Raise,
      reject: OnConflict::Reject,
      reschedule: OnConflict::Reschedule,
    }.freeze

    # returns OnConflict::NullStrategy when no other could be found
    def self.find_strategy(strategy)
      STRATEGIES.fetch(strategy.to_s.to_sym) { OnConflict::NullStrategy }
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
sidekiq-unique-jobs-6.0.2 lib/sidekiq_unique_jobs/on_conflict.rb
sidekiq-unique-jobs-6.0.1 lib/sidekiq_unique_jobs/on_conflict.rb
sidekiq-unique-jobs-6.0.0 lib/sidekiq_unique_jobs/on_conflict.rb
sidekiq-unique-jobs-6.0.0.rc8 lib/sidekiq_unique_jobs/on_conflict.rb