formatos-febraban 0.3.55 → 0.3.56
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 +4 -4
- data/base/position.rb +7 -6
- data/lib/formatos/cielo/cielo.rb +1 -1
- data/lib/formatos/cielo/cielo_detalhe.rb +60 -63
- data/lib/formatos/febraban/version.rb +1 -1
- data/lib/formatos/febraban150/febraban_150_a.rb +0 -18
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5cc4df1d59a75db03a43795f5ba61aee77aa06fd
|
4
|
+
data.tar.gz: 3125a9c772522f874bd41db920c95bf53cc1d1ac
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5d33567e1cd9d1fb70fbb0ae4fb69d170d925d78a53ffa643fd783622b1bff1e784da23b0c4938c1756436fdd1ea94d22ecce35239ad49f074febfc093ea21f4
|
7
|
+
data.tar.gz: 1fc42a5f9d7c0df8ef8631e10076e642e4112a4dca47e8f52b661e6cfe71bf9da755e8b1ff445cdb988008d548bc650d8f2363feb4c3624aa1d94ef8f2df022a
|
data/base/position.rb
CHANGED
@@ -5,12 +5,12 @@ class Position
|
|
5
5
|
def initialize(position, length, numbers_only,
|
6
6
|
content = '', immutable = false, obligatory = false)
|
7
7
|
|
8
|
-
@position
|
9
|
-
@length
|
8
|
+
@position = position
|
9
|
+
@length = length
|
10
10
|
@numbers_only = numbers_only
|
11
|
-
@content
|
12
|
-
@immutable
|
13
|
-
@obligatory
|
11
|
+
@content = adjust_content(content)
|
12
|
+
@immutable = immutable
|
13
|
+
@obligatory = obligatory
|
14
14
|
end
|
15
15
|
|
16
16
|
def content
|
@@ -52,11 +52,12 @@ class Position
|
|
52
52
|
def set_content(content)
|
53
53
|
if not @immutable
|
54
54
|
if self.is_numbers_only? and !self.is_number(content)
|
55
|
-
raise "#{@position} aceita apenas valores numéricos
|
55
|
+
raise "Posição #{@position} aceita apenas valores numéricos
|
56
56
|
Valor: #{content}"
|
57
57
|
end
|
58
58
|
|
59
59
|
@content = self.adjust_content(content)
|
60
|
+
|
60
61
|
else
|
61
62
|
raise 'Valor imutável'
|
62
63
|
end
|
data/lib/formatos/cielo/cielo.rb
CHANGED
@@ -5,67 +5,66 @@ class CieloDetalhe < FormatSection
|
|
5
5
|
super(master, true, true, false)
|
6
6
|
|
7
7
|
@section = Section.new({
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
})
|
8
|
+
0 => Position.new(1, 2, false, "01", true), # Tipo do Registro
|
9
|
+
1 => Position.new(2, 7, true), # Numero Sequencial
|
10
|
+
2 => Position.new(3, 19, true), # Numero do Cartão
|
11
|
+
3 => Position.new(4, 6, false, "000000"), # Código de Autorização
|
12
|
+
4 => Position.new(5, 8, false), # Data da Venda
|
13
|
+
5 => Position.new(6, 1, true), # Opção da Venda
|
14
|
+
6 => Position.new(7, 15, true), # Valor da venda
|
15
|
+
7 => Position.new(8, 3, true), # Quantidade de Parcelas
|
16
|
+
8 => Position.new(9, 15, true), # Preencher com zeros
|
17
|
+
9 => Position.new(10, 15, true), # Preencher com zeros
|
18
|
+
10 => Position.new(11, 15, true), # Preencher com zeros
|
19
|
+
11 => Position.new(12, 15, true), # Valor da Parcela
|
20
|
+
12 => Position.new(13, 7, true), # Numero do resumo da operação
|
21
|
+
13 => Position.new(14, 3, true), # Preencher com zeros
|
22
|
+
14 => Position.new(15, 10, true), # Numero do estabelecimento
|
23
|
+
15 => Position.new(16, 30, false), # Reservado
|
24
|
+
16 => Position.new(17, 2, true), # Status da venda
|
25
|
+
17 => Position.new(18, 8, true), # Data prevista da liquidação
|
26
|
+
18 => Position.new(19, 4, false), # Validade do cartao
|
27
|
+
19 => Position.new(20, 7, true), # Preencher com zeros
|
28
|
+
20 => Position.new(21, 15, true), # Preencher com zeros
|
29
|
+
21 => Position.new(22, 3, false), # Reservado(Brancos)
|
30
|
+
22 => Position.new(23, 4, false), # Código do erro(Brancos na remessa)
|
31
|
+
23 => Position.new(24, 11, false), # Referencia (Brancos)
|
32
|
+
24 => Position.new(25, 19, false), # Cartao Novo(Brancos)
|
33
|
+
25 => Position.new(26, 4, false), # Vencimento Novo (Brancos)
|
34
|
+
26 => Position.new(27, 2, false), # Reservado(Brancos)
|
35
|
+
})
|
37
36
|
end
|
38
37
|
|
39
38
|
#-------------------------------------------------------------------
|
40
39
|
#-------------------------------------------------------------------
|
41
40
|
# Gerais
|
42
41
|
def process_section file
|
43
|
-
self.set_sequencial
|
44
|
-
self.set_numero_cartao
|
45
|
-
self.set_codigo_autorizacao
|
46
|
-
self.set_data_venda
|
47
|
-
self.set_opcao_venda
|
48
|
-
self.set_valor_venda
|
49
|
-
self.numero_parcelas
|
50
|
-
self.set_reservado_1
|
51
|
-
self.set_reservado_2
|
52
|
-
self.set_reservado_3
|
53
|
-
self.set_valor_parcela
|
54
|
-
self.set_numero_lote
|
55
|
-
self.set_reservado_4
|
56
|
-
self.set_numero_cielo
|
57
|
-
self.set_reservado_5
|
58
|
-
self.set_status_venda
|
59
|
-
self.set_data_liquidacao
|
60
|
-
self.set_validade_cartao
|
61
|
-
self.set_reservado_6
|
62
|
-
self.set_reservado_7
|
63
|
-
self.set_reservado_8
|
64
|
-
self.set_codigo_erro
|
65
|
-
self.set_reservado_9
|
66
|
-
self.set_cartao_novo
|
67
|
-
self.set_vencimento_novo
|
68
|
-
self.set_reservado_10
|
42
|
+
self.set_sequencial file[2..8]
|
43
|
+
self.set_numero_cartao file[9..27]
|
44
|
+
self.set_codigo_autorizacao file[28..33]
|
45
|
+
self.set_data_venda file[34..41]
|
46
|
+
self.set_opcao_venda file[42..42]
|
47
|
+
self.set_valor_venda file[43..57]
|
48
|
+
self.numero_parcelas file[58..60]
|
49
|
+
self.set_reservado_1 file[61..75]
|
50
|
+
self.set_reservado_2 file[76..90]
|
51
|
+
self.set_reservado_3 file[91..105]
|
52
|
+
self.set_valor_parcela file[106..120]
|
53
|
+
self.set_numero_lote file[121..127]
|
54
|
+
self.set_reservado_4 file[128..130]
|
55
|
+
self.set_numero_cielo file[131..140]
|
56
|
+
self.set_reservado_5 file[141..170]
|
57
|
+
self.set_status_venda file[171..172]
|
58
|
+
self.set_data_liquidacao file[173..180]
|
59
|
+
self.set_validade_cartao file[181..184]
|
60
|
+
self.set_reservado_6 file[185..191]
|
61
|
+
self.set_reservado_7 file[192..206]
|
62
|
+
self.set_reservado_8 file[207..209]
|
63
|
+
self.set_codigo_erro file[210..213]
|
64
|
+
self.set_reservado_9 file[214..224]
|
65
|
+
self.set_cartao_novo file[225..243]
|
66
|
+
self.set_vencimento_novo file[244..247]
|
67
|
+
self.set_reservado_10 file[248..249]
|
69
68
|
end
|
70
69
|
|
71
70
|
def get_sequencial
|
@@ -116,7 +115,6 @@ class CieloDetalhe < FormatSection
|
|
116
115
|
self.get_section_value(22)
|
117
116
|
end
|
118
117
|
|
119
|
-
|
120
118
|
def set_sequencial valor
|
121
119
|
self.set_section_value(1, valor)
|
122
120
|
end
|
@@ -245,13 +243,12 @@ class CieloDetalhe < FormatSection
|
|
245
243
|
#-------------------------------------------------------------------
|
246
244
|
# Validações
|
247
245
|
def is_valid?
|
248
|
-
(self.get_sequencial.length > 0
|
249
|
-
self.get_data_venda.length > 0
|
250
|
-
self.get_numero_lote.length > 0
|
251
|
-
self.get_numero_cielo.length > 0
|
252
|
-
self.get_numero_cartao.length > 0
|
246
|
+
(self.get_sequencial.length > 0 and
|
247
|
+
self.get_data_venda.length > 0 and
|
248
|
+
self.get_numero_lote.length > 0 and
|
249
|
+
self.get_numero_cielo.length > 0 and
|
250
|
+
self.get_numero_cartao.length > 0 and
|
253
251
|
self.get_validade_cartao.length > 0 and
|
254
252
|
self.get_valor > 0)
|
255
253
|
end
|
256
|
-
|
257
|
-
end
|
254
|
+
end
|
@@ -55,24 +55,6 @@ class Febraban150A < FormatSection
|
|
55
55
|
})
|
56
56
|
end
|
57
57
|
|
58
|
-
def process_section(file)
|
59
|
-
self.set_id_registro (file[1..1])
|
60
|
-
self.set_codigo_remessa (file[2..2])
|
61
|
-
self.set_literal (file[3..9])
|
62
|
-
self.set_codigo_servico (file[10..11])
|
63
|
-
self.set_servico (file[12..26])
|
64
|
-
self.set_codigo_empresa (file[27..46])
|
65
|
-
self.set_nome_empresa (file[47..76])
|
66
|
-
self.set_codigo_banco (file[77..79])
|
67
|
-
self.set_nome_banco (file[80..94])
|
68
|
-
self.set_data_geracao (file[95..100])
|
69
|
-
self.set_branco_1 (file[101..108])
|
70
|
-
self.set_id_sistema (file[109..110])
|
71
|
-
self.set_seq_arquivo (file[111..117])
|
72
|
-
self.set_branco_2 (file[118..394])
|
73
|
-
self.set_seq_registro (file[395..400])
|
74
|
-
end
|
75
|
-
|
76
58
|
#-------------------------------------------------------------------
|
77
59
|
#-------------------------------------------------------------------
|
78
60
|
# Gerais
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: formatos-febraban
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.56
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- José Ricardo Almeida
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-05-
|
11
|
+
date: 2015-05-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|