class SPS::DirectDebitTransaction

Constants

LOCAL_INSTRUMENTS_FOR_SERVICE_LEVELS
SERVICE_LEVELS

Attributes

creditor_account[RW]
debtor_address[RW]
local_instrument[RW]
service_level[RW]

Public Class Methods

new(attributes = {}) click to toggle source
Calls superclass method SPS::Transaction::new
# File lib/sps_king/transaction/direct_debit_transaction.rb, line 31
def initialize(attributes = {})
  super
  self.service_level    ||= 'CHTA'
  self.local_instrument ||= 'LSV+'
end

Public Instance Methods

schema_compatible?(schema_name) click to toggle source
# File lib/sps_king/transaction/direct_debit_transaction.rb, line 37
def schema_compatible?(schema_name)
  case schema_name
  when PAIN_008_001_02_CH_03
    self.structured_remittance_information.present? &&
    self.structured_remittance_information.valid?
  end
end
validate_local_instrument() click to toggle source
# File lib/sps_king/transaction/direct_debit_transaction.rb, line 45
def validate_local_instrument
  if SERVICE_LEVELS.include?(self.service_level)
    allowed_local_instruments = LOCAL_INSTRUMENTS_FOR_SERVICE_LEVELS[self.service_level]

    if !allowed_local_instruments.include?(self.local_instrument)
      errors.add(
        :local_instrument,
        "is not correct. Must be one of #{allowed_local_instruments.join(', ')}"
      )
    end
  end
end