Sha256: 9a86e98b1268a65d390aa681f892dd012b3fe51f567172a2f28e2b0b8024e6b9

Contents?: true

Size: 667 Bytes

Versions: 4

Compression:

Stored size: 667 Bytes

Contents

# encoding: utf-8
module SEPA
  class CreditTransferTransaction < Transaction
    attr_accessor :service_level

    validates_inclusion_of :service_level, :in => %w(SEPA URGP)

    validate do |t|
      if t.requested_date.is_a?(Date)
        errors.add(:requested_date, 'is in the past') if t.requested_date < Date.today
      end
    end

    def initialize(attributes = {})
      super
      self.service_level ||= 'SEPA'
    end

    def schema_compatible?(schema_name)
      case schema_name
      when PAIN_001_001_03, PAIN_001_002_03
        self.bic.present? && self.service_level == 'SEPA'
      when PAIN_001_003_03
        true
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
sepa_king-0.6.0 lib/sepa_king/transaction/credit_transfer_transaction.rb
sepa_king-0.5.0 lib/sepa_king/transaction/credit_transfer_transaction.rb
sepa_king-0.4.0 lib/sepa_king/transaction/credit_transfer_transaction.rb
sepa_king-0.3.0 lib/sepa_king/transaction/credit_transfer_transaction.rb