Sha256: e44e6f30051d60e034af610d30931bf2e507bea34d6a5c967438ea071b15c48e

Contents?: true

Size: 1.16 KB

Versions: 34

Compression:

Stored size: 1.16 KB

Contents

module Bankserv

  class Statement < ActiveRecord::Base
    
    has_many :transactions, :foreign_key => 'bankserv_statement_id'
  
    def self.store(string)
      options = Absa::Esd::Transmission::Document.hash_from_s(string)
      
      raise "Expected a document set" unless options[:type] == "document"
    
      client_code = options[:data][0][:data][0][:data][:client_code]
    
      statement = new
      statement.client_code = client_code
      statement.data = options
      statement.save!
      statement
    end
  
    def process!
      raise "Document already processed" if processed?
    
      recon_account_detail_records.each do |record|
        next if record[:data][:transaction_description] == "GEEN/NO TRAN"
        Bankserv::Transaction.create! data: record[:data], client_code: client_code, bankserv_statement_id: id
      end
    
      self.processed = true
      self.save
    end
  
    def recon_transmission_data
      data[:data][0][:data]
    end
  
    def recon_account_data
      recon_transmission_data[1][:data]
    end
  
    def recon_account_detail_records
      recon_account_data.select{|item| item[:type] == 'detail'}
    end
  
  end
  
end

Version data entries

34 entries across 34 versions & 1 rubygems

Version Path
bankserv-0.8.0 lib/bankserv/transmission/statement.rb
bankserv-0.7.9 lib/bankserv/transmission/statement.rb
bankserv-0.7.8 lib/bankserv/transmission/statement.rb
bankserv-0.7.7 lib/bankserv/transmission/statement.rb
bankserv-0.7.6 lib/bankserv/transmission/statement.rb
bankserv-0.7.5 lib/bankserv/transmission/statement.rb
bankserv-0.7.4 lib/bankserv/transmission/statement.rb
bankserv-0.7.3 lib/bankserv/transmission/statement.rb
bankserv-0.7.2 lib/bankserv/transmission/statement.rb
bankserv-0.7.1 lib/bankserv/transmission/statement.rb
bankserv-0.7.0 lib/bankserv/transmission/statement.rb
bankserv-0.6.9 lib/bankserv/transmission/statement.rb
bankserv-0.6.8 lib/bankserv/transmission/statement.rb
bankserv-0.6.7 lib/bankserv/transmission/statement.rb
bankserv-0.6.6 lib/bankserv/transmission/statement.rb
bankserv-0.6.5 lib/bankserv/transmission/statement.rb
bankserv-0.6.4 lib/bankserv/transmission/statement.rb
bankserv-0.6.3 lib/bankserv/transmission/statement.rb
bankserv-0.6.2 lib/bankserv/transmission/statement.rb
bankserv-0.6.1 lib/bankserv/transmission/statement.rb