module Sidekiq::CurrentAttributes
def build_cattrs_hash(klass_or_array)
def build_cattrs_hash(klass_or_array) if klass_or_array.is_a?(Array) {}.tap do |hash| klass_or_array.each_with_index do |klass, index| hash[key_at(index)] = klass.to_s end end else {key_at(0) => klass_or_array.to_s} end end
def key_at(index)
def key_at(index) (index == 0) ? "cattr" : "cattr_#{index}" end
def persist(klass_or_array, config = Sidekiq.default_configuration)
def persist(klass_or_array, config = Sidekiq.default_configuration) cattrs = build_cattrs_hash(klass_or_array) config.client_middleware.add Save, cattrs config.server_middleware.prepend Load, cattrs end