Sha256: f3f4e1fe0db37318eec3bb67876aebbafd8ba2d6120fed3ddf6bacf75de1799b

Contents?: true

Size: 807 Bytes

Versions: 9

Compression:

Stored size: 807 Bytes

Contents

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

    validates_inclusion_of :service_level, :in => ['SEPA', 'URGP', '']

    validate { |t| t.validate_requested_date_after(Date.today) }

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

    def schema_compatible?(schema_name)
      case schema_name
      when PAIN_001_001_03
        if self.currency == 'EUR'
          self.service_level == 'SEPA'
        else
          self.service_level == ''
        end
      when PAIN_001_002_03
        self.bic.present? && self.service_level == 'SEPA' && self.currency == 'EUR'
      when PAIN_001_003_03
        self.currency == 'EUR'
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
sepa_king_extended-0.12.2 lib/sepa_king/transaction/credit_transfer_transaction.rb
sepa_king_extended-0.12.1 lib/sepa_king/transaction/credit_transfer_transaction.rb
sepa_king_extended-0.12.0 lib/sepa_king/transaction/credit_transfer_transaction.rb
sepa_king_extended-0.11.6 lib/sepa_king/transaction/credit_transfer_transaction.rb
sepa_king_extended-0.11.5 lib/sepa_king/transaction/credit_transfer_transaction.rb
sepa_king_extended-0.11.4 lib/sepa_king/transaction/credit_transfer_transaction.rb
sepa_king_extended-0.11.3 lib/sepa_king/transaction/credit_transfer_transaction.rb
sepa_king_extended-0.11.2 lib/sepa_king/transaction/credit_transfer_transaction.rb
sepa_king_extended-0.11.1 lib/sepa_king/transaction/credit_transfer_transaction.rb