Class: WireClient::Abstract::WireBatch
- Inherits:
-
Object
- Object
- WireClient::Abstract::WireBatch
- Defined in:
- lib/wire_client/providers/base/wire_batch.rb
Overview
Base class for sending batched Wire transfer transactions to various providers
Direct Known Subclasses
Class Method Summary collapse
-
.arguments ⇒ Array
instance attributes.
Instance Method Summary collapse
- #add_transaction(transaction_options) ⇒ Object
-
#do_send_batch ⇒ Object
Implementation of sending the Wire transfer batch to the provider, to be implemented by the subclass.
-
#initialize(*arguments) ⇒ WireBatch
constructor
debit or credit.
-
#initiator_account_number ⇒ String
Debtor’s or creditor’s Account Number.
-
#initiator_bic ⇒ String
Debtor’s or creditor’s bank SWIFT Code / BIC.
-
#initiator_country ⇒ String
code; default: US).
-
#initiator_country_subdivision ⇒ String
2 character code; default: MA).
-
#initiator_iban ⇒ String
Account Number) ID.
-
#initiator_identifier ⇒ String
The initiating party’s Identifier.
-
#initiator_name ⇒ String
the transfer.
-
#initiator_wire_routing_number ⇒ String
Debtor or creditor agent’s wire routing number.
-
#send_batch ⇒ Object
Sends the batch to the provider.
Constructor Details
#initialize(*arguments) ⇒ WireBatch
debit or credit
55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
# File 'lib/wire_client/providers/base/wire_batch.rb', line 55 def initialize(*arguments) args = arguments. self.class.arguments.each do |param| self.instance_variable_set( "@#{param}".to_sym, args[param] ) end if @transaction_type == WireClient::TransactionTypes::Credit initialize_payment_initiation(CreditTransfer) elsif @transaction_type == WireClient::TransactionTypes::Debit initialize_payment_initiation(DirectDebit) else raise InvalidWireTransactionTypeError, 'Transaction type should be explicitly defined' end end |
Class Method Details
.arguments ⇒ Array
instance attributes
44 45 46 47 48 |
# File 'lib/wire_client/providers/base/wire_batch.rb', line 44 def self.arguments [ :transaction_type ] end |
Instance Method Details
#add_transaction(transaction_options) ⇒ Object
73 74 75 |
# File 'lib/wire_client/providers/base/wire_batch.rb', line 73 def add_transaction() @payment_initiation.add_transaction() end |
#do_send_batch ⇒ Object
Implementation of sending the Wire transfer batch to the provider, to be
implemented by the subclass
91 92 93 |
# File 'lib/wire_client/providers/base/wire_batch.rb', line 91 def do_send_batch raise AbstractMethodError end |
#initiator_account_number ⇒ String
Returns Debtor’s or creditor’s Account Number.
25 |
# File 'lib/wire_client/providers/base/wire_batch.rb', line 25 class_attribute :initiator_account_number |
#initiator_bic ⇒ String
Returns Debtor’s or creditor’s bank SWIFT Code / BIC.
22 |
# File 'lib/wire_client/providers/base/wire_batch.rb', line 22 class_attribute :initiator_bic |
#initiator_country ⇒ String
code; default: US)
35 |
# File 'lib/wire_client/providers/base/wire_batch.rb', line 35 class_attribute :initiator_country |
#initiator_country_subdivision ⇒ String
2 character code; default: MA)
39 |
# File 'lib/wire_client/providers/base/wire_batch.rb', line 39 class_attribute :initiator_country_subdivision |
#initiator_iban ⇒ String
Account Number) ID
19 |
# File 'lib/wire_client/providers/base/wire_batch.rb', line 19 class_attribute :initiator_iban |
#initiator_identifier ⇒ String
Returns The initiating party’s Identifier.
31 |
# File 'lib/wire_client/providers/base/wire_batch.rb', line 31 class_attribute :initiator_identifier |
#initiator_name ⇒ String
the transfer
15 |
# File 'lib/wire_client/providers/base/wire_batch.rb', line 15 class_attribute :initiator_name |
#initiator_wire_routing_number ⇒ String
Returns Debtor or creditor agent’s wire routing number.
28 |
# File 'lib/wire_client/providers/base/wire_batch.rb', line 28 class_attribute :initiator_wire_routing_number |
#send_batch ⇒ Object
Sends the batch to the provider. Useful to check transaction status
before sending any data (consistency, validation, etc.)
80 81 82 83 84 85 86 87 |
# File 'lib/wire_client/providers/base/wire_batch.rb', line 80 def send_batch if @payment_initiation.valid? do_send_batch else raise InvalidWireTransactionError, "invalid wire transfer: #{@payment_initiation.error_messages}" end end |