formatos-febraban 0.3.55 → 0.3.56
Sign up to get free protection for your applications and to get access to all the features.
- 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
|