class WireClient::Transaction

Attributes

account_number[RW]
address_line[RW]
agent_name[RW]
amount[RW]
batch_booking[RW]
bic[RW]
city[RW]
clear_system_code[RW]
country[RW]
country_subdivision[RW]
currency[RW]
iban[RW]
instruction[RW]
name[RW]
postal_code[RW]
reference[RW]
remittance_information[RW]
requested_date[RW]
service_level[RW]
service_priority[RW]
wire_routing_number[RW]

Public Class Methods

new(attributes = {}) click to toggle source
# File lib/wire_client/transaction/transaction.rb, line 53
def initialize(attributes = {})
  attributes.each do |name, value|
    send("#{name}=", value)
  end

  @currency ||= 'USD'
  @postal_code ||= 'NA'
  @address_line ||= 'NA'
  @city ||= 'NA'
  @country ||= 'US'
  @country_subdivision ||= 'MA' if self.country == 'US'
  @clear_system_code ||= 'USABA'
  @agent_name ||= 'NOTPROVIDED'
  @requested_date ||= default_requested_date
  @reference ||= 'NOTPROVIDED'
  @batch_booking = true if @batch_booking.nil?
  @service_priority ||= 'NORM'
  @service_level ||= 'URGP'
end

Public Instance Methods

error_messages() click to toggle source
# File lib/wire_client/transaction/transaction.rb, line 73
def error_messages
  errors.full_messages.join("\n")
end
schema_compatible?(_schema_name) click to toggle source
# File lib/wire_client/transaction/transaction.rb, line 77
def schema_compatible?(_schema_name)
  # By default, transactions are compatible with any `schema_name`.
  # Could be used to implement schema compatibility check.
  true
end

Protected Instance Methods

default_requested_date() click to toggle source
# File lib/wire_client/transaction/transaction.rb, line 85
def default_requested_date
  WireClient.today.freeze
end
validate_requested_date_after(min_requested_date) click to toggle source
# File lib/wire_client/transaction/transaction.rb, line 89
def validate_requested_date_after(min_requested_date)
  return unless requested_date.is_a?(Date)

  if requested_date != default_requested_date &&
     requested_date < min_requested_date
    errors.add(
      :requested_date,
      "must be greater or equal to #{min_requested_date}, or nil"
    )
  end
end