Sha256: 9766a69acafceb2173f4bd700759cfad772d415483d038ee70ac5d15acdfef1c

Contents?: true

Size: 728 Bytes

Versions: 17

Compression:

Stored size: 728 Bytes

Contents

module CanvasSync::JobUniqueness
  module OnConflict
    class Base
      attr_reader :lock_context
      attr_reader :redis_pool

      class_attribute :_valid_for, instance_writer: false

      def self.valid_for(*origins)
        if origins.present?
          orgins = Array(origins).map(&:to_sym)
          self._valid_for = origins
        else
          self._valid_for || [:enqueue, :perform]
        end
      end

      def initialize(lock_context, redis_pool = nil)
        @lock_context = lock_context
        @redis_pool = redis_pool
      end

      def call
        raise NotImplementedError, "needs to be implemented in child class"
      end

      def replace?
        is_a?(Replace)
      end
    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/on_conflict/base.rb
canvas_sync-0.22.8 lib/canvas_sync/job_uniqueness/on_conflict/base.rb
canvas_sync-0.22.6 lib/canvas_sync/job_uniqueness/on_conflict/base.rb
canvas_sync-0.22.5 lib/canvas_sync/job_uniqueness/on_conflict/base.rb
canvas_sync-0.22.4 lib/canvas_sync/job_uniqueness/on_conflict/base.rb
canvas_sync-0.22.3 lib/canvas_sync/job_uniqueness/on_conflict/base.rb
canvas_sync-0.22.2 lib/canvas_sync/job_uniqueness/on_conflict/base.rb
canvas_sync-0.22.1 lib/canvas_sync/job_uniqueness/on_conflict/base.rb
canvas_sync-0.22.0 lib/canvas_sync/job_uniqueness/on_conflict/base.rb
canvas_sync-0.22.0.beta8 lib/canvas_sync/job_uniqueness/on_conflict/base.rb
canvas_sync-0.22.0.beta7 lib/canvas_sync/job_uniqueness/on_conflict/base.rb
canvas_sync-0.22.0.beta6 lib/canvas_sync/job_uniqueness/on_conflict/base.rb
canvas_sync-0.22.0.beta5 lib/canvas_sync/job_uniqueness/on_conflict/base.rb
canvas_sync-0.22.0.beta4 lib/canvas_sync/job_uniqueness/on_conflict/base.rb
canvas_sync-0.22.0.beta3 lib/canvas_sync/job_uniqueness/on_conflict/base.rb
canvas_sync-0.22.0.beta2 lib/canvas_sync/job_uniqueness/on_conflict/base.rb
canvas_sync-0.22.0.beta1 lib/canvas_sync/job_uniqueness/on_conflict/base.rb