Sha256: 628fd62b14231b07d089ae0e86b62f159d089b28735f9e0a4052a927bc28b657

Contents?: true

Size: 1.21 KB

Versions: 17

Compression:

Stored size: 1.21 KB

Contents

# frozen_string_literal: true

# :nocov:

require 'sidekiq'
require 'sidekiq/testing'

module Sidekiq
  def self.use_options(tmp_config = {})
    old_config = default_worker_options
    default_worker_options.clear
    self.default_worker_options = tmp_config

    yield
  ensure
    default_worker_options.clear
    self.default_worker_options = old_config
  end

  module Worker
    module ClassMethods
      def use_options(tmp_config = {})
        old_config = get_sidekiq_options
        sidekiq_options(tmp_config)

        yield
      ensure
        sidekiq_options(old_config)
      end

      def clear
        jobs.each do |job|
          SidekiqUniqueJobs::Unlockable.delete(job)
        end

        Sidekiq::Queues[queue].clear
        jobs.clear
      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
          clear_all_orig
          SidekiqUniqueJobs::Util.del('*', 1000)
        end
      end
    end

    include Overrides
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
sidekiq-unique-jobs-6.0.8 lib/sidekiq_unique_jobs/testing.rb
sidekiq-unique-jobs-6.0.7 lib/sidekiq_unique_jobs/testing.rb
sidekiq-unique-jobs-6.0.6 lib/sidekiq_unique_jobs/testing.rb
sidekiq-unique-jobs-6.0.5 lib/sidekiq_unique_jobs/testing.rb
sidekiq-unique-jobs-6.0.4 lib/sidekiq_unique_jobs/testing.rb
sidekiq-unique-jobs-6.0.3 lib/sidekiq_unique_jobs/testing.rb
sidekiq-unique-jobs-6.0.2 lib/sidekiq_unique_jobs/testing.rb
sidekiq-unique-jobs-6.0.1 lib/sidekiq_unique_jobs/testing.rb
sidekiq-unique-jobs-6.0.0 lib/sidekiq_unique_jobs/testing.rb
sidekiq-unique-jobs-6.0.0.rc8 lib/sidekiq_unique_jobs/testing.rb
sidekiq-unique-jobs-6.0.0.rc7 lib/sidekiq_unique_jobs/testing.rb
sidekiq-unique-jobs-6.0.0.rc6 lib/sidekiq_unique_jobs/testing.rb
sidekiq-unique-jobs-6.0.0.rc5 lib/sidekiq_unique_jobs/testing.rb
sidekiq-unique-jobs-6.0.0.rc4 lib/sidekiq_unique_jobs/testing.rb
sidekiq-unique-jobs-6.0.0.rc3 lib/sidekiq_unique_jobs/testing.rb
sidekiq-unique-jobs-6.0.0.rc2 lib/sidekiq_unique_jobs/testing.rb
sidekiq-unique-jobs-6.0.0.rc1 lib/sidekiq_unique_jobs/testing.rb