Module: AcidicJob::Extensions::ActionMailer

Extended by:
ActiveSupport::Concern
Defined in:
lib/acidic_job/extensions/action_mailer.rb

Instance Method Summary collapse

Instance Method Details

#deliver_acidicly(_options = {}) ⇒ Object Also known as: deliver_transactionally



10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/acidic_job/extensions/action_mailer.rb', line 10

def deliver_acidicly(_options = {})
  job = ::ActionMailer::MailDeliveryJob

  job_args = [@mailer_class.name, @action.to_s, "deliver_now", @params, *@args]
  # for Sidekiq, this depends on the Sidekiq::Serialization extension
  serialized_job = job.new(job_args).serialize

  AcidicJob::Run.create!(
    staged: true,
    job_class: job.name,
    serialized_job: serialized_job,
    idempotency_key: IdempotencyKey.value_for(serialized_job)
  )
end