module SidekiqUniqueJobs::SidekiqWorkerMethods

def after_unlock_hook

Returns:
  • (Proc) -
def after_unlock_hook
  -> { worker_class.after_unlock if worker_method_defined?(:after_unlock) }
end

def default_worker_options

Returns:
  • (Hash) -
def default_worker_options
  Sidekiq.default_worker_options
end

def sidekiq_worker_class?

Returns:
  • (false) - if worker_class does not respond to get_sidekiq_options
  • (true) - if worker_class responds to get_sidekiq_options
def sidekiq_worker_class?
  worker_method_defined?(:get_sidekiq_options)
end

def worker_class

Returns:
  • (Sidekiq::Worker) -
def worker_class
  @_worker_class ||= worker_class_constantize # rubocop:disable Naming/MemoizedInstanceVariableName
end

def worker_class_constantize(klazz = @worker_class)

Returns:
  • (Sidekiq::Worker) -
def worker_class_constantize(klazz = @worker_class)
  return klazz.class if klazz.is_a?(Sidekiq::Worker) # sidekiq v6.x
  return klazz       unless klazz.is_a?(String)
  Object.const_get(klazz)
rescue NameError => ex
  case ex.message
  when /uninitialized constant/
    klazz
  else
    raise
  end
end

def worker_method_defined?(method_sym)

Returns:
  • (true, false) -
def worker_method_defined?(method_sym)
  worker_class.respond_to?(method_sym)
end

def worker_options

Returns:
  • (Hash) - of the worker class sidekiq options
def worker_options
  return {} unless sidekiq_worker_class?
  worker_class.get_sidekiq_options.deep_stringify_keys
end