Class: Bankserv::Service
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- Bankserv::Service
show all
- Defined in:
- lib/bankserv/service.rb
Class Method Summary
collapse
Instance Method Summary
collapse
Class Method Details
.active ⇒ Object
19
20
21
|
# File 'lib/bankserv/service.rb', line 19
def self.active
where(active: true)
end
|
.register(params) ⇒ Object
10
11
12
13
14
15
16
17
|
# File 'lib/bankserv/service.rb', line 10
def self.register(params)
s = new
s.active = true
s.client_code = params.delete(:client_code)
s.config = params
s.save!
s
end
|
Instance Method Details
#can_transmit? ⇒ Boolean
61
62
63
|
# File 'lib/bankserv/service.rb', line 61
def can_transmit?
false
end
|
#get_generation_number ⇒ Object
23
24
25
|
# File 'lib/bankserv/service.rb', line 23
def get_generation_number
self.config[:generation_number]
end
|
#is_test_env? ⇒ Boolean
57
58
59
|
# File 'lib/bankserv/service.rb', line 57
def is_test_env?
config[:transmission_status] == "T"
end
|
#next_transmission_number ⇒ Object
65
66
67
68
|
# File 'lib/bankserv/service.rb', line 65
def next_transmission_number
last_successful_submission = Bankserv::Document.where(type: 'input', client_code: self.client_code, reply_status: "ACCEPTED").last
(last_successful_submission.transmission_number.to_i + 1).to_s
end
|
#reserve_generation_number! ⇒ Object
32
33
34
35
36
37
|
# File 'lib/bankserv/service.rb', line 32
def reserve_generation_number!
reserved = config[:generation_number] || 1
reserved = 0 if reserved == 10000
set_generation_number!(reserved + 1)
reserved
end
|
#reserve_sequence_number!(reserved = nil) ⇒ Object
51
52
53
54
55
|
# File 'lib/bankserv/service.rb', line 51
def reserve_sequence_number!(reserved = nil)
reserved ||= sequence_number
set_sequence_number!(reserved.to_i + 1)
reserved
end
|
#sequence_number ⇒ Object
39
40
41
42
43
|
# File 'lib/bankserv/service.rb', line 39
def sequence_number
sequence_number = config[:sequence_number] || 1
sequence_number = 1 unless (config[:sequence_number_updated_at] || Time.now).to_date == Date.today
sequence_number
end
|
#set_generation_number!(number) ⇒ Object
27
28
29
30
|
# File 'lib/bankserv/service.rb', line 27
def set_generation_number!(number)
self.config[:generation_number] = number
save!
end
|
#set_sequence_number!(number) ⇒ Object
45
46
47
48
49
|
# File 'lib/bankserv/service.rb', line 45
def set_sequence_number!(number)
self.config[:sequence_number] = number
self.config[:sequence_number_updated_at] = Time.now
save!
end
|
#update_transmission_number! ⇒ Object
70
71
72
73
74
|
# File 'lib/bankserv/service.rb', line 70
def update_transmission_number!
last_successful_submission = Bankserv::Document.where(type: 'input', client_code: self.client_code, reply_status: "ACCEPTED").last
config[:transmission_number] = (last_successful_submission.transmission_number.to_i + 2).to_s save!
end
|