Sha256: 811ada1734b171bc90ffdf0c0cc1a912de7c4bf8631218ed4912adcd473bbe29
Contents?: true
Size: 1.84 KB
Versions: 33
Compression:
Stored size: 1.84 KB
Contents
module Bankserv class AccountHolderVerification < ActiveRecord::Base self.inheritance_column = :_type_disabled serialize :response belongs_to :bank_account, :foreign_key => 'bankserv_bank_account_id' belongs_to :request, :foreign_key => 'bankserv_request_id' scope :unprocessed, where(status: "new") scope :internal, where(internal: true) scope :external, where(internal: false) def self.service Bankserv::AHVService.where(active: true).last end def self.for_reference(reference) self.where(:user_ref => reference) end def self.build!(options) bank_account = BankAccount.new(options.delete(:bank_account)) is_internal = bank_account.branch_code == self.service.config[:internal_branch_code] ahv = new(options) ahv.bank_account = bank_account ahv.internal = is_internal ahv.save! end def internal? internal == true end def external? !internal? end def new? status == "new" end def pending? status == "pending" end def error? status == "error" end def completed? status == "completed" end def pending! self.status = "pending" save! end def process_response(data) file_name = "#{Bankserv::CONFIG_DIR}/ahv.yml" return_code_mapping = YAML.load(File.open(file_name))['return_codes'] hash = { account_number: return_code_mapping[data[:return_code_1]].to_sym, id_number: return_code_mapping[data[:return_code_2]].to_sym, initials: return_code_mapping[data[:return_code_3]].to_sym, surname: return_code_mapping[data[:return_code_4]].to_sym } self.response = hash self.status = "completed" self.save! end end end
Version data entries
33 entries across 33 versions & 1 rubygems