Module: WireClient

Includes:
AchClient
Defined in:
lib/wire_client.rb,
lib/wire_client/version.rb,
lib/wire_client/base/constants.rb,
lib/wire_client/account/account.rb,
lib/wire_client/base/converters.rb,
lib/wire_client/base/validators.rb,
lib/wire_client/messages/message.rb,
lib/wire_client/messages/direct_debit.rb,
lib/wire_client/account/debitor_account.rb,
lib/wire_client/transaction/transaction.rb,
lib/wire_client/account/creditor_account.rb,
lib/wire_client/messages/credit_transfer.rb,
lib/wire_client/providers/base/wire_batch.rb,
lib/wire_client/providers/sftp/wire_batch.rb,
lib/wire_client/providers/sftp/sftp_provider.rb,
lib/wire_client/base/account_transaction_helpers.rb,
lib/wire_client/transaction/direct_debit_transaction.rb,
lib/wire_client/transaction/credit_transfer_transaction.rb

Overview

Adapter for interacting with Wire transfer service providers

Defined Under Namespace

Modules: AccountTransactionHelpers, Converter, SftpProvider Classes: Abstract, Account, BICValidator, BaseValidator, CountrySubdivisionValidator, CountryValidator, CreditTransfer, CreditTransferTransaction, CreditorAccount, CreditorIdentifierValidator, CurrencyValidator, DebtorAccount, DirectDebit, DirectDebitTransaction, IBANValidator, MandateIdentifierValidator, Message, RegexBasedValidators, Sftp, Transaction

Constant Summary collapse

VERSION =

Increment this when changes are published

'0.4.1'
PAIN_008_001_02 =
'pain.008.001.02'
PAIN_001_001_03 =
'pain.001.001.03'
US_STATES =
{
  "Alabama" => "AL",
  "Alaska" => "AK",
  "Arizona" => "AZ",
  "Arkansas" => "AR",
  "California" => "CA",
  "Colorado" => "CO",
  "Connecticut" => "CT",
  "Delaware" => "DE",
  "District of Columbia" => "DC",
  "Florida" => "FL",
  "Georgia" => "GA",
  "Hawaii" => "HI",
  "Idaho" => "ID",
  "Illinois" => "IL",
  "Indiana" => "IN",
  "Iowa" => "IA",
  "Kansas" => "KS",
  "Kentucky" => "KY",
  "Louisiana" => "LA",
  "Maine" => "ME",
  "Maryland" => "MD",
  "Massachusetts" => "MA",
  "Michigan" => "MI",
  "Minnesota" => "MN",
  "Mississippi" => "MS",
  "Missouri" => "MO",
  "Montana" => "MT",
  "Nebraska" => "NE",
  "Nevada" => "NV",
  "New Hampshire" => "NH",
  "New Jersey" => "NJ",
  "New Mexico" => "NM",
  "New York" => "NY",
  "North Carolina" => "NC",
  "North Dakota" => "ND",
  "Ohio" => "OH",
  "Oklahoma" => "OK",
  "Oregon" => "OR",
  "Pennsylvania" => "PA",
  "Rhode Island" => "RI",
  "South Carolina" => "SC",
  "South Dakota" => "SD",
  "Tennessee" => "TN",
  "Texas" => "TX",
  "Utah" => "UT",
  "Vermont" => "VT",
  "Virginia" => "VA",
  "Washington" => "WA",
  "West Virginia" => "WV",
  "Wisconsin" => "WI",
  "Wyoming" => "WY"
}
SEQUENCE_TYPES =
%w(FRST OOFF RCUR FNAL)
LOCAL_INSTRUMENTS =
%w(CORE COR1 B2B)
SERVICE_PRIORITY_TYPES =
%w(HIGH NORM)
SERVICE_LEVEL_TYPES =
%w(BKTR URGP URNS NURG SEPA)

Class Method Summary collapse

Class Method Details

.const_missing(name) ⇒ Object

Enables consumer to interact with new SFTP providers without adding them to the codebase. Let’s say the consumer wants to integrate with Citibank. They would invoke WireClient::Citibank, which would be undefined. This const_missing would be called, and the Citibank module would be dynamically defined, with all the necessary SFTP concerns included and ready for use.



24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/wire_client.rb', line 24

def self.const_missing(name)
  const_set(
    name,
    Class.new do
      include WireClient::SftpProvider

      # Defines the classes within the provider namespace to use for
      # sending transactions
      const_set(:WireBatch, Class.new(WireClient::Sftp::WireBatch))
    end
  )
end

.todayObject



37
38
39
40
41
42
43
# File 'lib/wire_client.rb', line 37

def self.today
  if Time.zone.present?
    Time.zone.now.to_date
  else
    Date.today
  end
end