Class: Bankserv::Statement
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- Bankserv::Statement
- Defined in:
- lib/bankserv/transmission/statement.rb
Class Method Summary collapse
Instance Method Summary collapse
- #process! ⇒ Object
- #recon_account_data ⇒ Object
- #recon_account_detail_records ⇒ Object
- #recon_transmission_data ⇒ Object
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) = Absa::Esd::Transmission::Document.hash_from_s(string) raise "Expected a document set" unless [:type] == "document" client_code = [:data][0][:data][0][:data][:client_code] statement = new statement.client_code = client_code statement.data = statement.save! statement end |
Instance Method Details
#process! ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/bankserv/transmission/statement.rb', line 21 def process! raise "Document already processed" if processed? count = 1 account_number = recon_account_detail_records.first[:data][:account_number] recon_account_detail_records.each do |record| next if record[:data][:transaction_description] == "GEEN/NO TRAN" if record[:data][:account_number] != account_number account_number = record[:data][:account_number] count = 1 end Bankserv::Transaction.create! data: record[:data].merge(transaction_number_for_day: count), client_code: client_code, bankserv_statement_id: id count += 1 end self.processed = true self.save end |
#recon_account_data ⇒ Object
48 49 50 |
# File 'lib/bankserv/transmission/statement.rb', line 48 def recon_account_data recon_transmission_data[1][:data] end |
#recon_account_detail_records ⇒ Object
52 53 54 |
# File 'lib/bankserv/transmission/statement.rb', line 52 def recon_account_detail_records recon_account_data.select{|item| item[:type] == 'detail'} end |
#recon_transmission_data ⇒ Object
44 45 46 |
# File 'lib/bankserv/transmission/statement.rb', line 44 def recon_transmission_data data[:data][0][:data] end |