Sha256: 8b61b70e5419b4e0c1e3de86b5bd1f022eae42ccf0193d1f5413bc39ed79266b

Contents?: true

Size: 739 Bytes

Versions: 13

Compression:

Stored size: 739 Bytes

Contents

# frozen_string_literal: true

module SidekiqUniqueJobs
  module OnConflict
    # Abstract conflict strategy class
    #
    # @abstract
    # @author Mikael Henriksson <mikael@zoolutions.se>
    class Strategy
      include SidekiqUniqueJobs::Logging

      # The sidekiq job hash
      # @return [Hash] the Sidekiq job hash
      attr_reader :item

      # @param [Hash] item the Sidekiq job hash
      def initialize(item)
        @item = item
      end

      # Use strategy on conflict
      # @raise [NotImplementedError] needs to be implemented in child class
      def call
        raise NotImplementedError, "needs to be implemented in child class"
      end

      def replace?
        is_a?(Replace)
      end
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
sidekiq-unique-jobs-6.0.25 lib/sidekiq_unique_jobs/on_conflict/strategy.rb
sidekiq-unique-jobs-6.0.24 lib/sidekiq_unique_jobs/on_conflict/strategy.rb
sidekiq-unique-jobs-6.0.23 lib/sidekiq_unique_jobs/on_conflict/strategy.rb
sidekiq-unique-jobs-6.0.22 lib/sidekiq_unique_jobs/on_conflict/strategy.rb
sidekiq-unique-jobs-6.0.21 lib/sidekiq_unique_jobs/on_conflict/strategy.rb
sidekiq-unique-jobs-6.0.20 lib/sidekiq_unique_jobs/on_conflict/strategy.rb
sidekiq-unique-jobs-6.0.16 lib/sidekiq_unique_jobs/on_conflict/strategy.rb
sidekiq-unique-jobs-6.0.19 lib/sidekiq_unique_jobs/on_conflict/strategy.rb
sidekiq-unique-jobs-6.0.13 lib/sidekiq_unique_jobs/on_conflict/strategy.rb
sidekiq-unique-jobs-6.0.12 lib/sidekiq_unique_jobs/on_conflict/strategy.rb
sidekiq-unique-jobs-6.0.11 lib/sidekiq_unique_jobs/on_conflict/strategy.rb
sidekiq-unique-jobs-6.0.10 lib/sidekiq_unique_jobs/on_conflict/strategy.rb
sidekiq-unique-jobs-6.0.9 lib/sidekiq_unique_jobs/on_conflict/strategy.rb