bankserv 0.8.5 → 0.8.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +8 -8
- data/lib/bankserv/transmission/set/eft.rb +52 -49
- data/lib/bankserv/version.rb +2 -2
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
NjhmNWY3YTBkYzgxMmZjNWVkZDRhYmU0MTg3ZDBjMTM3ZWQwMDQyMg==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
YTQ4ODg1YjZmNmIxMzRkOWQxNDUxNzVlNjMzMzY1ZjI5Njc1NTM3MQ==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
N2Y2NGM5MGYyOWMxYmYyMDVhMTE2YjRlMzNmYjc0NDlmMDBhYTdjMDAyMDhj
|
10
|
+
YThmYTlmNjZmNjY1ZDk5MzYyNmQ3NGRiNmU5ZjhkZWQ0Y2MyMjUzZjllNjYx
|
11
|
+
MmRiNmIwZTQ4NWZjNmUxNzQxNzhkMjAwNWE4NDM5ODNhNTE0OTA=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
Njk3NDEyMzY5NDgyYmE4NzdlNjQxNmJjMmFiM2U5NDU5MzNiYjllMDIwYTdi
|
14
|
+
NTU3OGQ1Y2YzYTNkMjE5ODNhZjhhNGMxMDQzZGNjNGY1YTNkNDE4ZWIzMWE5
|
15
|
+
YzUxNzQ0ZmRkZjhiYjc1MTYzM2JmNmFmZDIxODJkM2I0MDdiMzg=
|
@@ -1,33 +1,36 @@
|
|
1
1
|
module Bankserv
|
2
2
|
module Transmission::UserSet
|
3
|
-
|
3
|
+
|
4
4
|
class Eft < Set
|
5
|
-
|
5
|
+
|
6
6
|
before_save :set_sequence_numbers, :decorate_records, :decorate_header, :decorate_trailer
|
7
|
-
|
7
|
+
|
8
8
|
attr_accessor :type_of_service, :account_type_correct, :accepted_report
|
9
|
-
|
9
|
+
|
10
10
|
def self.has_work?
|
11
11
|
class_type.has_work?
|
12
12
|
end
|
13
|
-
|
13
|
+
|
14
14
|
def self.has_test_work?
|
15
15
|
class_type.has_test_work?
|
16
16
|
end
|
17
|
-
|
17
|
+
|
18
18
|
def self.unprocessed_efts(rec_status)
|
19
19
|
if rec_status == "L"
|
20
|
-
|
20
|
+
# include here?
|
21
|
+
|
22
|
+
self.class_type.includes(:request, :bank_account).unprocessed.select{|item| not item.request.test?}
|
23
|
+
#self.class_type.unprocessed.select{|item| not item.request.test?}
|
21
24
|
else
|
22
25
|
self.class_type.unprocessed.select{|item| item.request.test?}
|
23
26
|
end
|
24
27
|
end
|
25
|
-
|
28
|
+
|
26
29
|
def self.generate(options = {})
|
27
30
|
efts = self.unprocessed_efts(options[:rec_status])
|
28
|
-
|
31
|
+
|
29
32
|
if efts.count > 0
|
30
|
-
set = self.new
|
33
|
+
set = self.new
|
31
34
|
set.type_of_service = efts.first.request.data[:type_of_service]
|
32
35
|
set.accepted_report = efts.first.request.data[:accepted_report] || "Y"
|
33
36
|
set.account_type_correct = efts.first.request.data[:account_type_correct] || "Y"
|
@@ -35,35 +38,35 @@ module Bankserv
|
|
35
38
|
set
|
36
39
|
end
|
37
40
|
end
|
38
|
-
|
41
|
+
|
39
42
|
def set_type
|
40
43
|
"eft"
|
41
44
|
end
|
42
|
-
|
43
|
-
def short_date(date)
|
45
|
+
|
46
|
+
def short_date(date)
|
44
47
|
date = Date.strptime(date, "%Y-%m-%d")
|
45
48
|
date.strftime("%y%m%d")
|
46
49
|
end
|
47
|
-
|
50
|
+
|
48
51
|
def contra_records
|
49
52
|
records.where(record_type: "contra_record")
|
50
53
|
end
|
51
|
-
|
54
|
+
|
52
55
|
def standard_records
|
53
56
|
records.where(record_type: "standard_record")
|
54
57
|
end
|
55
|
-
|
58
|
+
|
56
59
|
def get_user_generation_number
|
57
60
|
bankserv_service.reserve_generation_number!.to_s #Equal to the last accepted user gen number + 1
|
58
61
|
#gen = Bankserv::DebitService.active.last.reserve_generation_number!.to_s unless Bankserv::DebitService.active.blank?
|
59
62
|
#gen = Bankserv::CreditService.active.last.reserve_generation_number!.to_s unless Bankserv::CreditService.active.blank?
|
60
63
|
#gen
|
61
64
|
end
|
62
|
-
|
65
|
+
|
63
66
|
def build_header(options = {})
|
64
67
|
self.generation_number = options[:user_generation_number] || get_user_generation_number
|
65
68
|
record_data = Absa::H2h::Transmission::Eft.record_type('header').template_options
|
66
|
-
|
69
|
+
|
67
70
|
record_data.merge!(
|
68
71
|
rec_id: rec_id,
|
69
72
|
bankserv_creation_date: Time.now.strftime("%y%m%d"),
|
@@ -72,17 +75,17 @@ module Bankserv
|
|
72
75
|
accepted_report: @accepted_report.nil? ? "" : @accepted_report,
|
73
76
|
account_type_correct: @account_type_correct
|
74
77
|
)
|
75
|
-
|
78
|
+
|
76
79
|
record_data.merge!(first_sequence_number: options[:first_sequence_number]) if options[:first_sequence_number]
|
77
|
-
|
80
|
+
|
78
81
|
records.build(record_type: "header", data: record_data)
|
79
82
|
end
|
80
|
-
|
81
|
-
def build_trailer(options = {})
|
83
|
+
|
84
|
+
def build_trailer(options = {})
|
82
85
|
record_data = Absa::H2h::Transmission::Eft.record_type('trailer').template_options
|
83
86
|
records.build(record_type: "trailer", data: record_data.merge(rec_id: rec_id))
|
84
87
|
end
|
85
|
-
|
88
|
+
|
86
89
|
def build_standard(transaction)
|
87
90
|
record_data = Absa::H2h::Transmission::Eft.record_type('standard_record').template_options
|
88
91
|
homing_account_number = transaction.bank_account.account_number.to_i.to_s
|
@@ -90,8 +93,8 @@ module Bankserv
|
|
90
93
|
|
91
94
|
record_data.merge!(
|
92
95
|
rec_id: rec_id,
|
93
|
-
user_nominated_account: transaction.contra_bank_details.account_number,
|
94
|
-
user_branch: transaction.contra_bank_details.branch_code,
|
96
|
+
user_nominated_account: transaction.contra_bank_details.account_number,
|
97
|
+
user_branch: transaction.contra_bank_details.branch_code,
|
95
98
|
user_code: bankserv_service.config[:user_code],
|
96
99
|
bankserv_record_identifier: standard_bankserv_record_identifier,
|
97
100
|
homing_branch: homing_branch_code,
|
@@ -105,13 +108,13 @@ module Bankserv
|
|
105
108
|
homing_account_name: transaction.bank_account.account_holder,
|
106
109
|
non_standard_homing_account_number: homing_account_number.length > 11 ? homing_account_number : "0"
|
107
110
|
)
|
108
|
-
|
111
|
+
|
109
112
|
records.build(record_type: transaction.record_type + "_record", data: record_data, sourceable: transaction)
|
110
113
|
end
|
111
|
-
|
114
|
+
|
112
115
|
def build_contra(transaction)
|
113
116
|
record_data = Absa::H2h::Transmission::Eft.record_type('contra_record').template_options
|
114
|
-
|
117
|
+
|
115
118
|
record_data.merge!(
|
116
119
|
rec_id: rec_id,
|
117
120
|
bankserv_record_identifier: contra_bankserv_record_identifier,
|
@@ -126,67 +129,67 @@ module Bankserv
|
|
126
129
|
entry_class: "10",
|
127
130
|
user_ref: transaction.formatted_user_ref
|
128
131
|
)
|
129
|
-
|
132
|
+
|
130
133
|
records.build(record_type: transaction.record_type + "_record", data: record_data, sourceable: transaction)
|
131
134
|
end
|
132
|
-
|
135
|
+
|
133
136
|
def first_action_date
|
134
137
|
transactions.min_by{|t| t.data[:action_date]}.data[:action_date]
|
135
138
|
end
|
136
|
-
|
137
|
-
def last_action_date
|
139
|
+
|
140
|
+
def last_action_date
|
138
141
|
transactions.max_by{|t| t.data[:action_date]}.data[:action_date]
|
139
142
|
end
|
140
|
-
|
143
|
+
|
141
144
|
def purge_date
|
142
145
|
last_action_date
|
143
146
|
end
|
144
|
-
|
147
|
+
|
145
148
|
def hash_total_of_homing_account_numbers
|
146
149
|
hash_total = 0
|
147
150
|
|
148
|
-
transactions.each do |transaction|
|
151
|
+
transactions.each do |transaction|
|
149
152
|
hash_total += transaction.data[:homing_account_number].to_i
|
150
153
|
hash_total += transaction.data[:non_standard_homing_account_number].reverse[0,11].reverse.to_i if transaction.record_type == "standard_record"
|
151
154
|
end
|
152
|
-
|
155
|
+
|
153
156
|
hash_total.to_s.reverse[0,12].reverse.to_i
|
154
157
|
end
|
155
|
-
|
158
|
+
|
156
159
|
def total_debit_value
|
157
160
|
debit_records.inject(0) { |sum, record| sum + record.data[:amount].to_i }
|
158
161
|
end
|
159
|
-
|
162
|
+
|
160
163
|
def total_credit_value
|
161
164
|
credit_records.inject(0) { |sum, record| sum + record.data[:amount].to_i }
|
162
165
|
end
|
163
|
-
|
166
|
+
|
164
167
|
def no_debit_records
|
165
168
|
debit_records.count.to_s
|
166
169
|
end
|
167
|
-
|
170
|
+
|
168
171
|
def no_credit_records
|
169
172
|
credit_records.count.to_s
|
170
173
|
end
|
171
|
-
|
174
|
+
|
172
175
|
private
|
173
|
-
|
176
|
+
|
174
177
|
def set_sequence_numbers
|
175
178
|
sequence_number = (header.data[:first_sequence_number] || bankserv_service.reserve_sequence_number!).to_i
|
176
|
-
|
179
|
+
|
177
180
|
header.data[:first_sequence_number] = sequence_number.to_s
|
178
181
|
trailer.data[:first_sequence_number] = sequence_number.to_s
|
179
|
-
|
182
|
+
|
180
183
|
transactions.each do |record|
|
181
184
|
record.data[:user_sequence_number] = sequence_number.to_s
|
182
185
|
sequence_number += 1
|
183
186
|
end
|
184
|
-
|
187
|
+
|
185
188
|
trailer.data[:last_sequence_number] = (sequence_number - 1).to_s
|
186
189
|
|
187
190
|
bankserv_service.reserve_sequence_number!(sequence_number - 1)
|
188
191
|
end
|
189
|
-
|
192
|
+
|
190
193
|
def decorate_header
|
191
194
|
header.data[:bankserv_user_code] = bankserv_service.config[:user_code]
|
192
195
|
header.data[:bankserv_purge_date] = purge_date
|
@@ -194,8 +197,8 @@ module Bankserv
|
|
194
197
|
header.data[:last_action_date] = last_action_date
|
195
198
|
header.save!
|
196
199
|
end
|
197
|
-
|
198
|
-
def decorate_trailer
|
200
|
+
|
201
|
+
def decorate_trailer
|
199
202
|
trailer.data[:bankserv_user_code] = header.data[:bankserv_user_code]
|
200
203
|
trailer.data[:first_action_date] = first_action_date
|
201
204
|
trailer.data[:last_action_date] = last_action_date
|
@@ -210,4 +213,4 @@ module Bankserv
|
|
210
213
|
end
|
211
214
|
end
|
212
215
|
end
|
213
|
-
# 28905810181. Got 402890581018.
|
216
|
+
# 28905810181. Got 402890581018.
|
data/lib/bankserv/version.rb
CHANGED
@@ -1,3 +1,3 @@
|
|
1
1
|
module Bankserv
|
2
|
-
VERSION = "0.8.
|
3
|
-
end
|
2
|
+
VERSION = "0.8.6"
|
3
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bankserv
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.8.
|
4
|
+
version: 0.8.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jeffrey van Aswegen
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2015-
|
12
|
+
date: 2015-11-19 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activesupport
|
@@ -243,7 +243,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
243
243
|
version: '0'
|
244
244
|
requirements: []
|
245
245
|
rubyforge_project: bankserv
|
246
|
-
rubygems_version: 2.4.
|
246
|
+
rubygems_version: 2.4.8
|
247
247
|
signing_key:
|
248
248
|
specification_version: 4
|
249
249
|
summary: A rails 3 engine wrapped around the Absa Host 2 Host gem.
|