Sha256: 1a19fc33d799cc752af14262a8156c7cc53f9d1fe64e3878fd7dde82d58a4b8f

Contents?: true

Size: 785 Bytes

Versions: 4

Compression:

Stored size: 785 Bytes

Contents

# This job is responsible for creating a consolidated installment from a
# list of installments and processing it.

module SolidusSubscriptions
  class ProcessInstallmentsJob < ActiveJob::Base
     queue_as Config.processing_queue

     # Process a collection of installments
     #
     # @param installment_ids [Array<Integer>] The ids of the
     #   installments to be processed together and fulfilled by the same order
     #
     # @return [Spree::Order] The order which fulfills the list of installments
     def perform(installment_ids)
       return if installment_ids.empty?

       installments = SolidusSubscriptions::Installment.where(id: installment_ids).
         includes(subscription: [:line_items, :user])
       Checkout.new(installments).process
     end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
solidus_subscriptions-alpha-0.0.5 app/jobs/solidus_subscriptions/process_installments_job.rb
solidus_subscriptions-alpha-0.0.3 app/jobs/solidus_subscriptions/process_installments_job.rb
solidus_subscriptions-alpha-0.0.2 app/jobs/solidus_subscriptions/process_installments_job.rb
solidus_subscriptions-alpha-0.0.1 app/jobs/solidus_subscriptions/process_installments_job.rb