Sha256: 2e645d0a1fa1d2b58fdfcdec355e3641bbe71c1038c0eb6ce6a0afb0dd6d434c

Contents?: true

Size: 829 Bytes

Versions: 2

Compression:

Stored size: 829 Bytes

Contents

# encoding: utf-8
module SEPA
  class DirectDebitTransaction < Transaction
    attr_accessor :mandate_id, :mandate_date_of_signature, :local_instrument, :sequence_type

    validates_length_of :mandate_id, within: 1..35
    validates_presence_of :mandate_date_of_signature
    validates_inclusion_of :local_instrument, :in => %w(CORE B2B)
    validates_inclusion_of :sequence_type, :in => %w(FRST OOFF RCUR FNAL)

    validate do |t|
      if t.mandate_date_of_signature.is_a?(Date)
        errors.add(:mandate_date_of_signature, 'is in the future') if t.mandate_date_of_signature > Date.today
      else
        errors.add(:mandate_date_of_signature, 'is not a Date')
      end
    end

    def initialize(attributes = {})
      super
      self.local_instrument ||= 'CORE'
      self.sequence_type ||= 'OOFF'
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
sepa_king-0.0.6 lib/sepa_king/transaction/direct_debit_transaction.rb
sepa_king-0.0.5 lib/sepa_king/transaction/direct_debit_transaction.rb