Sha256: 9cc515c6c8a5ac9f32c73f1964e40fe57a1c5112f3cd9db17ee959765ae27ba6

Contents?: true

Size: 807 Bytes

Versions: 1

Compression:

Stored size: 807 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

1 entries across 1 versions & 1 rubygems

Version Path
solidus_subscriptions-alpha-0.0.4 app/jobs/solidus_subscriptions/process_installments_job.rb