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