Sha256: a8a47b6ced8abe1e09d0ce71ac1fcdbab9f4c4a20b0d1eeb7d77d27ec3a0c146

Contents?: true

Size: 1.47 KB

Versions: 12

Compression:

Stored size: 1.47 KB

Contents

module Bankserv
  
  class Credit < ActiveRecord::Base
    extend Eft

    serialize :response
    scope :unprocessed, where(status: "new")

    belongs_to :bank_account, :foreign_key => 'bankserv_bank_account_id'
    belongs_to :request, :foreign_key => 'bankserv_request_id'
    
    def self.bankserv_service
      Bankserv::CreditService.where(active: true).last
    end
    
    def bankserv_service
      Bankserv::Credit.bankserv_service
    end
    
    def self.for_reference(reference)
      self.where(:user_ref => reference)
    end
    
    def new?
      status == "new"
    end
    
    def pending?
      status == "pending"
    end

    def pending!
      self.status = "pending"
      save!
    end
    
    def error?
      status == "error"
    end
    
    def completed?
      status == "completed"
    end
    
    def standard?
      record_type == "standard"
    end
    
    def contra?
      record_type == "contra"
    end
    
    def formatted_user_ref
      abbreviated_name = bankserv_service.config[:client_abbreviated_name]
      
      if contra?
        bankserv_service.config[:client_abbreviated_name]
        abbreviated_name.ljust(10, ' ') << "CONTRA#{user_ref}"
      else
        abbreviated_name.ljust(10, ' ') << user_ref
      end
    end
    
    def contra_bank_details
      if self.standard?
        Credit.where(record_type: "contra", batch_id: self.batch_id, status: "new").first.bank_account
      else
        self.bank_account
      end
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
bankserv-0.6.4 lib/bankserv/credit.rb
bankserv-0.6.3 lib/bankserv/credit.rb
bankserv-0.6.2 lib/bankserv/credit.rb
bankserv-0.6.1 lib/bankserv/credit.rb
bankserv-0.6.0 lib/bankserv/credit.rb
bankserv-0.5.9 lib/bankserv/credit.rb
bankserv-0.5.8 lib/bankserv/credit.rb
bankserv-0.5.7 lib/bankserv/credit.rb
bankserv-0.5.6 lib/bankserv/credit.rb
bankserv-0.5.5 lib/bankserv/credit.rb
bankserv-0.5.4 lib/bankserv/credit.rb
bankserv-0.5.3 lib/bankserv/credit.rb