@@ -21,8 +21,6 @@ def self.included(base)
2121 # https://github.com/mperham/sidekiq/blob/4.x/lib/sidekiq/extensions/class_methods.rb
2222
2323 module SidekiqWorker
24- extend ::ActiveSupport ::Concern
25-
2624 class Worker
2725 include ::Sidekiq ::Worker
2826
@@ -72,26 +70,14 @@ def async_call(context = {})
7270 end
7371 end
7472
75- included do
76- class_attribute :sidekiq_worker_class
77- end
78-
79- class_methods do
80- def sidekiq_worker_class ( klass )
81- self . custom_sidekiq_worker_class = klass
82- end
83- end
84-
8573 private
8674
8775 def worker_class
8876 return Worker if custom_sidekiq_worker_class . nil?
8977
90- custom_sidekiq_worker_class . tap do |klass |
91- unless klass . is_a? ( Worker )
92- raise "#{ klass } is not a valid Sidekiq worker class. It must be a subclass of ::Interactor::SidekiqWorker::Worker."
93- end
94- end
78+ return custom_sidekiq_worker_class if custom_sidekiq_worker_class < Worker
79+
80+ raise "#{ klass } is not a valid Sidekiq worker class. It must be a subclass of ::Interactor::SidekiqWorker::Worker."
9581 end
9682
9783 def handle_context_for_sidekiq ( context )
@@ -124,6 +110,8 @@ def handle_sidekiq_schedule_options(context)
124110
125111 module Async
126112 def self . included ( base )
113+ class_attribute :sidekiq_worker_class
114+
127115 base . class_eval do
128116 include Interactor
129117
@@ -140,6 +128,10 @@ def call!(context = {})
140128 default_async_call ( context )
141129 end
142130
131+ def sidekiq_worker_class ( klass )
132+ self . custom_sidekiq_worker_class = klass
133+ end
134+
143135 private
144136
145137 def default_async_call ( context )
0 commit comments