Sha256: 7c57eea33c9fee123dc3726827b98ccbddbb6f9ef0dc196d8817c2f9cebe1c55

Contents?: true

Size: 1011 Bytes

Versions: 1

Compression:

Stored size: 1011 Bytes

Contents

require 'sidekiq/testing'

module Sidekiq
  module Worker
    module ClassMethods
      # Clear all jobs for this worker
      def clear
        jobs.each do |job|
          unlock(job) if Sidekiq::Testing.fake?
        end

        Sidekiq::Queues[queue].clear
        jobs.clear
      end

      unless respond_to?(:execute_job)
        def execute_job(worker, args)
          worker.perform(*args)
        end
      end

      def unlock(job)
        SidekiqUniqueJobs::Unlockable.unlock(job)
      end
    end

    module Overrides
      def self.included(base)
        base.extend Testing
        base.class_eval do
          class << self
            alias_method :clear_all_orig, :clear_all
            alias_method :clear_all, :clear_all_ext
          end
        end
      end

      module Testing
        def clear_all_ext
          SidekiqUniqueJobs::Util.del('*', 1000, false) unless SidekiqUniqueJobs.mocked?
          clear_all_orig
        end
      end
    end

    include Overrides
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
sidekiq-unique-jobs-5.0.2 lib/sidekiq_unique_jobs/testing/sidekiq_overrides.rb