Class: ForestAdminDatasourceMambuPayments::Plugins::SmartActions::CancelPaymentOrder

Inherits:
ForestAdminDatasourceCustomizer::Plugins::Plugin
  • Object
show all
Defined in:
lib/forest_admin_datasource_mambu_payments/plugins/smart_actions/cancel_payment_order.rb

Overview

Cancels a payment order. The optional ‘reason` is only used by Numeral for SEPA direct debit cancelations before settlement; for other payment types it is accepted and ignored.

Constant Summary collapse

BaseAction =
ForestAdminDatasourceCustomizer::Decorators::Action::BaseAction
ActionScope =
ForestAdminDatasourceCustomizer::Decorators::Action::Types::ActionScope
FieldType =
ForestAdminDatasourceCustomizer::Decorators::Action::Types::FieldType
NAMES =
{ single: 'Cancel Mambu payment order',
bulk: 'Cancel selected Mambu payment orders' }.freeze

Instance Method Summary collapse

Instance Method Details

#run(_datasource_customizer, collection_customizer = nil, options = {}) ⇒ Object

Raises:

  • (ArgumentError)


15
16
17
18
19
20
21
22
23
24
25
# File 'lib/forest_admin_datasource_mambu_payments/plugins/smart_actions/cancel_payment_order.rb', line 15

def run(_datasource_customizer, collection_customizer = nil, options = {})
  datasource = options[:datasource]
  record_id_field = options[:record_id_field]
  raise ArgumentError, 'CancelPaymentOrder plugin requires :datasource' unless datasource
  raise ArgumentError, 'CancelPaymentOrder plugin requires :record_id_field' unless record_id_field
  raise ArgumentError, 'CancelPaymentOrder plugin requires a collection' unless collection_customizer

  Helpers.normalize_scopes(options[:scopes]).each do |scope_key|
    collection_customizer.add_action(NAMES[scope_key], build_action(datasource, scope_key, record_id_field))
  end
end