Sha256: b49e62fcbc12562b2adb63376c2d6688350fa813ef19aa769e0d4ee0eb6e1bb7

Contents?: true

Size: 851 Bytes

Versions: 9

Compression:

Stored size: 851 Bytes

Contents

class Bankserv::OutputDocument < Bankserv::Document

  after_create :set_user_ref!

  def set_user_ref!
    self.user_ref ||= self.set.header.data[:th_for_use_of_ld_user]
    self.save!
  end
  
  def self.document_type
    'output'
  end
  
  def self.store(string)
    options = Absa::H2h::Transmission::Document.hash_from_s(string, 'output')
    
    raise "Expected a document set" unless options[:type] == "document"
    
    document = Bankserv::OutputDocument.new(
      type: 'output',
      client_code: options[:data][0][:data][:client_code]
    )
    
    document.set = Bankserv::Set.from_hash(options)
    document.set.document = document # whaaaaaa?
    document.save!
    document
  end
  
  def process!
    raise "Document already processed" if processed?
    
    self.set.process
    self.processed = true
    self.save
  end
  
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
bankserv-0.6.4 lib/bankserv/transmission/output_document.rb
bankserv-0.6.3 lib/bankserv/transmission/output_document.rb
bankserv-0.6.2 lib/bankserv/transmission/output_document.rb
bankserv-0.6.1 lib/bankserv/transmission/output_document.rb
bankserv-0.6.0 lib/bankserv/transmission/output_document.rb
bankserv-0.5.9 lib/bankserv/transmission/output_document.rb
bankserv-0.5.8 lib/bankserv/transmission/output_document.rb
bankserv-0.5.7 lib/bankserv/transmission/output_document.rb
bankserv-0.5.6 lib/bankserv/transmission/output_document.rb