Sha256: c98921dbcf98c55b91eeb32316949e06c53fd8cfd49d076b5bf4c250caab45ac

Contents?: true

Size: 755 Bytes

Versions: 6

Compression:

Stored size: 755 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,
      replace: OnConflict::Replace,
      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

6 entries across 6 versions & 1 rubygems

Version Path
sidekiq-unique-jobs-6.0.8 lib/sidekiq_unique_jobs/on_conflict.rb
sidekiq-unique-jobs-6.0.7 lib/sidekiq_unique_jobs/on_conflict.rb
sidekiq-unique-jobs-6.0.6 lib/sidekiq_unique_jobs/on_conflict.rb
sidekiq-unique-jobs-6.0.5 lib/sidekiq_unique_jobs/on_conflict.rb
sidekiq-unique-jobs-6.0.4 lib/sidekiq_unique_jobs/on_conflict.rb
sidekiq-unique-jobs-6.0.3 lib/sidekiq_unique_jobs/on_conflict.rb