module SidekiqUniqueJobs

def self.redis_mock

def self.redis_mock
  @redis_mock ||= MockRedis.new
end

def config

def config
  @config ||= Config.new(
    unique_prefix: 'sidekiq_unique',
    unique_args_enabled: false,
    default_expiration: 30 * 60,
    default_unlock_order: :after_yield
  )
end

def configure

def configure
  yield config
end

def unique_args_enabled?

def unique_args_enabled?
  config.unique_args_enabled
end

def worker_class_constantize(worker_class)

failing back to the original argument.
Attempt to constantize a string worker_class argument, always
def worker_class_constantize(worker_class)
  return worker_class unless worker_class.is_a?(String)
  worker_class.constantize
rescue NameError
  worker_class
end