Sha256: c751966a6119b630c50da410b19fae2a4acdfea2605b9e5a3e4c1d59a741f2d7

Contents?: true

Size: 634 Bytes

Versions: 3

Compression:

Stored size: 634 Bytes

Contents

# frozen_string_literal: true

module AcidicJob
  module DeliverTransactionallyExtension
    def deliver_transactionally(options = {})
      job = delivery_job_class

      attributes = {
        adapter: "activejob",
        job_name: job.name
      }

      job_args = if job <= ActionMailer::Parameterized::MailDeliveryJob
        [@mailer_class.name, @action.to_s, "deliver_now", {params: @params, args: @args}]
      else
        [@mailer_class.name, @action.to_s, "deliver_now", @params, *@args]
      end

      attributes[:job_args] = job.new(job_args).serialize

      AcidicJob::Staged.create!(attributes)
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
acidic_job-0.7.2 lib/acidic_job/deliver_transactionally_extension.rb
acidic_job-0.7.1 lib/acidic_job/deliver_transactionally_extension.rb
acidic_job-0.7.0 lib/acidic_job/deliver_transactionally_extension.rb