Class: Bankserv::Statement

Inherits:
ActiveRecord::Base
  • Object
show all
Defined in:
lib/bankserv/transmission/statement.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.store(string) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/bankserv/transmission/statement.rb', line 7

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

Instance Method Details

#process!Object



21
22
23
24
25
26
27
28
29
30
31
# File 'lib/bankserv/transmission/statement.rb', line 21

def process!
  raise "Document already processed" if processed?

  .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

#recon_account_dataObject



37
38
39
# File 'lib/bankserv/transmission/statement.rb', line 37

def 
  recon_transmission_data[1][:data]
end

#recon_account_detail_recordsObject



41
42
43
# File 'lib/bankserv/transmission/statement.rb', line 41

def 
  .select{|item| item[:type] == 'detail'}
end

#recon_transmission_dataObject



33
34
35
# File 'lib/bankserv/transmission/statement.rb', line 33

def recon_transmission_data
  data[:data][0][:data]
end