Module: DelayedCrud::Worker::SidekiqWorker
- Defined in:
- lib/delayed_crud/worker/sidekiq_worker.rb
Overview
:nodoc:
Class Method Summary collapse
Class Method Details
.perform_with_delay(operation:, record:, attributes: {}, options: {}) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/delayed_crud/worker/sidekiq_worker.rb', line 9 def self.perform_with_delay(operation:, record:, attributes: {}, options: {}) raise ArgumentError, "Missing operation for a delayed transaction" if operation.nil? delay = DelayedCrud.calculate_delay([:in] || [:after]) record_id = record.try(:id) serialized_attributes = attributes.transform_keys(&:to_s) class_name = record_id ? record.class.name : record.name Sidekiq::Client.enqueue_in(delay.seconds, DelayedCrud::Job::SidekiqJob::DelayedCrudJob, class_name, record_id, operation.to_s, serialized_attributes) end |