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_address_line ⇒ String
The initiating party’s Address line (default: NA).
-
#initiator_bic ⇒ String
Debtor’s or creditor’s bank SWIFT Code / BIC.
-
#initiator_city ⇒ String
(default: NA).
-
#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_postal_code ⇒ String
The initiating party’s Postal code (default: NA).
-
#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
65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 |
# File 'lib/wire_client/providers/base/wire_batch.rb', line 65 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
54 55 56 57 58 |
# File 'lib/wire_client/providers/base/wire_batch.rb', line 54 def self.arguments [ :transaction_type ] end |
Instance Method Details
#add_transaction(transaction_options) ⇒ Object
83 84 85 |
# File 'lib/wire_client/providers/base/wire_batch.rb', line 83 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
101 102 103 |
# File 'lib/wire_client/providers/base/wire_batch.rb', line 101 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_address_line ⇒ String
Returns The initiating party’s Address line (default: NA).
37 |
# File 'lib/wire_client/providers/base/wire_batch.rb', line 37 class_attribute :initiator_address_line |
#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_city ⇒ String
(default: NA)
41 |
# File 'lib/wire_client/providers/base/wire_batch.rb', line 41 class_attribute :initiator_city |
#initiator_country ⇒ String
code; default: US)
49 |
# File 'lib/wire_client/providers/base/wire_batch.rb', line 49 class_attribute :initiator_country |
#initiator_country_subdivision ⇒ String
2 character code; default: MA)
45 |
# File 'lib/wire_client/providers/base/wire_batch.rb', line 45 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_postal_code ⇒ String
Returns The initiating party’s Postal code (default: NA).
34 |
# File 'lib/wire_client/providers/base/wire_batch.rb', line 34 class_attribute :initiator_postal_code |
#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.)
90 91 92 93 94 95 96 97 |
# File 'lib/wire_client/providers/base/wire_batch.rb', line 90 def send_batch if @payment_initiation.valid? do_send_batch else raise InvalidWireTransactionError, "invalid wire transfer: #{@payment_initiation.}" end end |