Sha256: 2f2798d25ba993771a1992580b5aba4186e3ed6cda78e764bab4df5a5d6afa74
Contents?: true
Size: 1.01 KB
Versions: 7
Compression:
Stored size: 1.01 KB
Contents
# frozen_string_literal: true module SolidusSubscriptions class ProcessSubscriptionJob < ApplicationJob queue_as { SolidusSubscriptions.configuration.processing_queue } def perform(subscription) ActiveRecord::Base.transaction do if SolidusSubscriptions.configuration.clear_past_installments subscription.installments.unfulfilled.actionable.each do |installment| installment.update!(actionable_date: nil) end end if subscription.actionable? subscription.successive_skip_count = 0 subscription.advance_actionable_date subscription.installments.create!(actionable_date: Time.zone.now) end subscription.cancel! if subscription.pending_cancellation? subscription.deactivate! if subscription.can_be_deactivated? subscription.installments.actionable.find_each do |installment| SolidusSubscriptions::ProcessInstallmentJob.perform_later(installment) end end end end end
Version data entries
7 entries across 7 versions & 1 rubygems