Class: Bankserv::Debit
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- Bankserv::Debit
show all
- Extended by:
- Eft
- Defined in:
- lib/bankserv/debit.rb
Instance Attribute Summary
Attributes included from Eft
#request_id
Class Method Summary
collapse
Instance Method Summary
collapse
Methods included from Eft
build!, build_batch!, build_contra!, build_standard!, create_standard!, has_test_work?, has_work?, next_batch_id, partial_class_name
Class Method Details
.bankserv_service ⇒ Object
12
13
14
|
# File 'lib/bankserv/debit.rb', line 12
def self.bankserv_service
Bankserv::DebitService.where(active: true).last
end
|
.for_reference(reference) ⇒ Object
46
47
48
|
# File 'lib/bankserv/debit.rb', line 46
def self.for_reference(reference)
self.where(:user_ref => reference)
end
|
Instance Method Details
#bankserv_service ⇒ Object
#completed? ⇒ Boolean
84
85
86
|
# File 'lib/bankserv/debit.rb', line 84
def completed?
status == "completed"
end
|
#contra? ⇒ Boolean
24
25
26
|
# File 'lib/bankserv/debit.rb', line 24
def contra?
record_type == "contra"
end
|
#contra_bank_details ⇒ Object
38
39
40
41
42
43
44
|
# File 'lib/bankserv/debit.rb', line 38
def contra_bank_details
if self.standard?
Debit.where(record_type: "contra", batch_id: self.batch_id, status: "new").first.bank_account
else
self.bank_account
end
end
|
#error? ⇒ Boolean
80
81
82
|
# File 'lib/bankserv/debit.rb', line 80
def error?
status == "error"
end
|
28
29
30
31
32
33
34
35
36
|
# File 'lib/bankserv/debit.rb', line 28
def formatted_user_ref
abbreviated_name = bankserv_service.config[:client_abbreviated_name]
if contra?
abbreviated_name.ljust(10, ' ') << "CONTRA#{user_ref}"
else
abbreviated_name.ljust(10, ' ') << user_ref
end
end
|
#new? ⇒ Boolean
67
68
69
|
# File 'lib/bankserv/debit.rb', line 67
def new?
status == "new"
end
|
#pending! ⇒ Object
75
76
77
78
|
# File 'lib/bankserv/debit.rb', line 75
def pending!
self.status = "pending"
save!
end
|
#pending? ⇒ Boolean
71
72
73
|
# File 'lib/bankserv/debit.rb', line 71
def pending?
status == "pending"
end
|
#process_response(data) ⇒ Object
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
# File 'lib/bankserv/debit.rb', line 50
def process_response(data)
save_data = if data[:response_status] == 'unpaid'
{
rejection_reason_description: Absa::H2h::Eft::RejectionCode.reason_for_code(data[:rejection_reason]),
rejection_reason: data[:rejection_reason],
rejection_qualifier_description: Absa::H2h::Eft::RejectionCode.qualifier_for_code(data[:rejection_qualifier]),
rejection_qualifier: data[:rejection_qualifier]
}
elsif data[:response_status] == 'redirect'
data.only([:new_homing_branch, :new_homing_account_number, :new_homing_account_type])
end
self.response = save_data
self.status = data[:response_status]
self.save!
end
|
#redirect? ⇒ Boolean
92
93
94
|
# File 'lib/bankserv/debit.rb', line 92
def redirect?
status == "redirect"
end
|
#standard? ⇒ Boolean
20
21
22
|
# File 'lib/bankserv/debit.rb', line 20
def standard?
record_type == "standard"
end
|
#unpaid? ⇒ Boolean
88
89
90
|
# File 'lib/bankserv/debit.rb', line 88
def unpaid?
status == "unpaid"
end
|