class Tantot::Strategy::Sidekiq
Public Class Methods
marshal(changes_by_model)
click to toggle source
# File lib/tantot/strategy/sidekiq.rb, line 21 def self.marshal(changes_by_model) changes_by_model.each.with_object({}) do |(model_class, changes), hash| hash[model_class.name] = changes end end
unmarshal(changes_by_model)
click to toggle source
# File lib/tantot/strategy/sidekiq.rb, line 27 def self.unmarshal(changes_by_model) changes_by_model.each.with_object({}) do |(model_class_name, changes_by_id), model_hash| model_hash[model_class_name.constantize] = changes_by_id.each.with_object({}) do |(id, changes), change_hash| change_hash[id.to_i] = changes end end end
Public Instance Methods
run(agent, changes_by_model)
click to toggle source
# File lib/tantot/strategy/sidekiq.rb, line 14 def run(agent, changes_by_model) queue = agent.options[:queue] || Tantot.config.sidekiq_queue ::Sidekiq::Client.push('class' => Tantot::Strategy::Sidekiq::Worker, 'args' => [agent.id, Tantot::Strategy::Sidekiq.marshal(changes_by_model)], 'queue' => queue) end