diff options
Diffstat (limited to 'app/services/solidus_subscriptions/dispatcher/success_dispatcher.rb')
-rw-r--r-- | app/services/solidus_subscriptions/dispatcher/success_dispatcher.rb | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/app/services/solidus_subscriptions/dispatcher/success_dispatcher.rb b/app/services/solidus_subscriptions/dispatcher/success_dispatcher.rb new file mode 100644 index 0000000..78563a4 --- /dev/null +++ b/app/services/solidus_subscriptions/dispatcher/success_dispatcher.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +# Handles installments that are processed successfully. +module SolidusSubscriptions + module Dispatcher + class SuccessDispatcher < Base + def dispatch + installments.each do |installment| + installment.success!(order) + end + + ::Spree::Event.fire( + 'solidus_subscriptions.installments_succeeded', + installments: installments, + order: order, + ) + end + end + end +end |