class SidekiqRobustJob::SetterProxyJob
Public Class Methods
new(job_class, custom_options = {})
click to toggle source
Calls superclass method
# File lib/sidekiq_robust_job/setter_proxy_job.rb, line 8 def initialize(job_class, custom_options = {}) super(job_class) @job_class = job_class @custom_options = custom_options end
Public Instance Methods
build(job_class, options)
click to toggle source
# File lib/sidekiq_robust_job/setter_proxy_job.rb, line 3 def build(job_class, options) Class.new(SimpleDelegator) do attr_reader :job_class, :custom_options private :job_class, :custom_options def initialize(job_class, custom_options = {}) super(job_class) @job_class = job_class @custom_options = custom_options end # rubocop:disable Naming/AccessorMethodName def get_sidekiq_options job_class.get_sidekiq_options.merge(custom_options.stringify_keys) end # rubocop:enable Naming/AccessorMethodName def perform_async(*arguments) SidekiqRobustJob.perform_async(self, *arguments) end def perform_in(interval, *arguments) SidekiqRobustJob.perform_in(self, interval, *arguments) end def perform_at(time, *arguments) SidekiqRobustJob.perform_at(self, time, *arguments) end def set(options = {}) SidekiqRobustJob.set(self, options) end def original_perform_in(*args) call_sidekiq_method(:perform_in, *args) end def original_perform_at(*args) call_sidekiq_method(:perform_at, *args) end def original_perform_async(*args) call_sidekiq_method(:perform_async, *args) end def original_set(*args) call_sidekiq_method(:set, *args) end # override to not fail on Sidekiq internal validation def is_a?(val) if val == Class true else super end end private def call_sidekiq_method(name, *args) Sidekiq::Worker::ClassMethods.instance_method(name).bind(self).call(*args) end end.new(job_class, options) end
call_sidekiq_method(name, *args)
click to toggle source
# File lib/sidekiq_robust_job/setter_proxy_job.rb, line 64 def call_sidekiq_method(name, *args) Sidekiq::Worker::ClassMethods.instance_method(name).bind(self).call(*args) end
get_sidekiq_options()
click to toggle source
rubocop:disable Naming/AccessorMethodName
# File lib/sidekiq_robust_job/setter_proxy_job.rb, line 16 def get_sidekiq_options job_class.get_sidekiq_options.merge(custom_options.stringify_keys) end
is_a?(val)
click to toggle source
override to not fail on Sidekiq
internal validation
Calls superclass method
# File lib/sidekiq_robust_job/setter_proxy_job.rb, line 54 def is_a?(val) if val == Class true else super end end
original_perform_async(*args)
click to toggle source
# File lib/sidekiq_robust_job/setter_proxy_job.rb, line 45 def original_perform_async(*args) call_sidekiq_method(:perform_async, *args) end
original_perform_at(*args)
click to toggle source
# File lib/sidekiq_robust_job/setter_proxy_job.rb, line 41 def original_perform_at(*args) call_sidekiq_method(:perform_at, *args) end
original_perform_in(*args)
click to toggle source
# File lib/sidekiq_robust_job/setter_proxy_job.rb, line 37 def original_perform_in(*args) call_sidekiq_method(:perform_in, *args) end
original_set(*args)
click to toggle source
# File lib/sidekiq_robust_job/setter_proxy_job.rb, line 49 def original_set(*args) call_sidekiq_method(:set, *args) end
perform_async(*arguments)
click to toggle source
rubocop:enable Naming/AccessorMethodName
# File lib/sidekiq_robust_job/setter_proxy_job.rb, line 21 def perform_async(*arguments) SidekiqRobustJob.perform_async(self, *arguments) end
perform_at(time, *arguments)
click to toggle source
# File lib/sidekiq_robust_job/setter_proxy_job.rb, line 29 def perform_at(time, *arguments) SidekiqRobustJob.perform_at(self, time, *arguments) end
perform_in(interval, *arguments)
click to toggle source
# File lib/sidekiq_robust_job/setter_proxy_job.rb, line 25 def perform_in(interval, *arguments) SidekiqRobustJob.perform_in(self, interval, *arguments) end
set(options = {})
click to toggle source
# File lib/sidekiq_robust_job/setter_proxy_job.rb, line 33 def set(options = {}) SidekiqRobustJob.set(self, options) end