Class: Bankserv::AccountHolderVerification

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

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.build!(options) ⇒ Object



22
23
24
25
26
27
28
29
# File 'lib/bankserv/account_holder_verification.rb', line 22

def self.build!(options)
   = BankAccount.new(options.delete(:bank_account))
  is_internal = .branch_code == self.service.config[:internal_branch_code]
  ahv = new(options)
  ahv. = 
  ahv.internal = is_internal
  ahv.save!
end

.for_reference(reference) ⇒ Object



18
19
20
# File 'lib/bankserv/account_holder_verification.rb', line 18

def self.for_reference(reference)
  self.where(:user_ref => reference)
end

.serviceObject



14
15
16
# File 'lib/bankserv/account_holder_verification.rb', line 14

def self.service
  Bankserv::AHVService.where(active: true).last
end

Instance Method Details

#completed?Boolean

Returns:

  • (Boolean)


51
52
53
# File 'lib/bankserv/account_holder_verification.rb', line 51

def completed?
  status == "completed"
end

#error?Boolean

Returns:

  • (Boolean)


47
48
49
# File 'lib/bankserv/account_holder_verification.rb', line 47

def error?
  status == "error"
end

#external?Boolean

Returns:

  • (Boolean)


35
36
37
# File 'lib/bankserv/account_holder_verification.rb', line 35

def external?
  !internal?
end

#internal?Boolean

Returns:

  • (Boolean)


31
32
33
# File 'lib/bankserv/account_holder_verification.rb', line 31

def internal?
  internal == true
end

#new?Boolean

Returns:

  • (Boolean)


39
40
41
# File 'lib/bankserv/account_holder_verification.rb', line 39

def new?
  status == "new"
end

#pending!Object



55
56
57
58
# File 'lib/bankserv/account_holder_verification.rb', line 55

def pending!
  self.status = "pending"
  save!
end

#pending?Boolean

Returns:

  • (Boolean)


43
44
45
# File 'lib/bankserv/account_holder_verification.rb', line 43

def pending?
  status == "pending"
end

#process_response(data) ⇒ Object



60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
# File 'lib/bankserv/account_holder_verification.rb', line 60

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