cnab240 0.0.17 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/cnab240.gemspec +2 -1
- data/lib/cnab240/arquivo/arquivo.rb +89 -60
- data/lib/cnab240/arquivo/builder.rb +162 -154
- data/lib/cnab240/arquivo/estrutura.rb +159 -95
- data/lib/cnab240/arquivo/lote.rb +57 -57
- data/lib/cnab240/arquivo/v40/header.rb +30 -30
- data/lib/cnab240/arquivo/v40/trailer.rb +11 -11
- data/lib/cnab240/arquivo/v80/header.rb +28 -27
- data/lib/cnab240/arquivo/v80/trailer.rb +11 -11
- data/lib/cnab240/arquivo/v83/header.rb +38 -0
- data/lib/cnab240/arquivo/v83/trailer.rb +17 -0
- data/lib/cnab240/arquivo/v86/header.rb +27 -28
- data/lib/cnab240/arquivo/v86/trailer.rb +12 -12
- data/lib/cnab240/arquivo/v87/header.rb +38 -0
- data/lib/cnab240/arquivo/v87/trailer.rb +18 -0
- data/lib/cnab240/ext/attribute_accessors.rb +2 -2
- data/lib/cnab240/ext/bindata.rb +9 -9
- data/lib/cnab240/ext/default_mixin.rb +11 -12
- data/lib/cnab240/ext/filler.rb +16 -16
- data/lib/cnab240/ext/lstring.rb +5 -5
- data/lib/cnab240/ext/segmento_mixin.rb +4 -4
- data/lib/cnab240/helper/helper.rb +15 -0
- data/lib/cnab240/helper/pagamento_bb.rb +51 -0
- data/lib/cnab240/helper/pagamento_bradesco.rb +49 -0
- data/lib/cnab240/helper/pagamento_itau.rb +34 -49
- data/lib/cnab240/helper/pagamento_sicoob.rb +55 -0
- data/lib/cnab240/pagamentos/v40/header.rb +35 -37
- data/lib/cnab240/pagamentos/v40/trailer.rb +13 -13
- data/lib/cnab240/pagamentos/v80/header.rb +45 -45
- data/lib/cnab240/pagamentos/v80/trailer.rb +13 -13
- data/lib/cnab240/pagamentos/v83/header.rb +45 -0
- data/lib/cnab240/pagamentos/v83/trailer.rb +18 -0
- data/lib/cnab240/pagamentos/v86/header.rb +44 -44
- data/lib/cnab240/pagamentos/v86/titulos/header.rb +44 -44
- data/lib/cnab240/pagamentos/v86/titulos/trailer.rb +14 -14
- data/lib/cnab240/pagamentos/v86/trailer.rb +14 -14
- data/lib/cnab240/pagamentos/v86/tributos/header.rb +45 -45
- data/lib/cnab240/pagamentos/v86/tributos/trailer.rb +12 -12
- data/lib/cnab240/pagamentos/v87/header.rb +46 -0
- data/lib/cnab240/pagamentos/v87/titulos/header.rb +46 -0
- data/lib/cnab240/pagamentos/v87/titulos/trailer.rb +18 -0
- data/lib/cnab240/pagamentos/v87/trailer.rb +18 -0
- data/lib/cnab240/pagamentos/v87/tributos/header.rb +47 -0
- data/lib/cnab240/pagamentos/v87/tributos/trailer.rb +17 -0
- data/lib/cnab240/segmentos/v40/segmento_a.rb +45 -48
- data/lib/cnab240/segmentos/v80/agencia_itau.rb +11 -12
- data/lib/cnab240/segmentos/v80/agencia_outros.rb +9 -10
- data/lib/cnab240/segmentos/v80/segmento_a.rb +59 -61
- data/lib/cnab240/segmentos/v83/segmento_a.rb +42 -0
- data/lib/cnab240/segmentos/v83/segmento_b.rb +40 -0
- data/lib/cnab240/segmentos/v83/segmento_j.rb +33 -0
- data/lib/cnab240/segmentos/v83/segmento_z.rb +19 -0
- data/lib/cnab240/segmentos/v86/segmento_a.rb +42 -45
- data/lib/cnab240/segmentos/v86/segmento_b.rb +38 -39
- data/lib/cnab240/segmentos/v86/segmento_c.rb +23 -24
- data/lib/cnab240/segmentos/v86/segmento_j.rb +25 -26
- data/lib/cnab240/segmentos/v86/segmento_j52.rb +22 -24
- data/lib/cnab240/segmentos/v86/segmento_n.rb +50 -51
- data/lib/cnab240/segmentos/v86/segmento_n1.rb +13 -15
- data/lib/cnab240/segmentos/v86/segmento_n2.rb +15 -17
- data/lib/cnab240/segmentos/v86/segmento_n3.rb +15 -17
- data/lib/cnab240/segmentos/v86/segmento_n4.rb +17 -19
- data/lib/cnab240/segmentos/v86/segmento_n5.rb +15 -17
- data/lib/cnab240/segmentos/v86/segmento_n6.rb +15 -17
- data/lib/cnab240/segmentos/v86/segmento_n7.rb +16 -18
- data/lib/cnab240/segmentos/v86/segmento_n8.rb +15 -18
- data/lib/cnab240/segmentos/v86/segmento_o.rb +20 -21
- data/lib/cnab240/segmentos/v86/segmento_w.rb +16 -17
- data/lib/cnab240/segmentos/v86/segmento_w1.rb +12 -13
- data/lib/cnab240/segmentos/v86/segmento_z.rb +14 -14
- data/lib/cnab240/segmentos/v87/segmento_a.rb +44 -0
- data/lib/cnab240/segmentos/v87/segmento_b.rb +40 -0
- data/lib/cnab240/segmentos/v87/segmento_c.rb +32 -0
- data/lib/cnab240/segmentos/v87/segmento_j.rb +33 -0
- data/lib/cnab240/segmentos/v87/segmento_j52.rb +32 -0
- data/lib/cnab240/segmentos/v87/segmento_n.rb +59 -0
- data/lib/cnab240/segmentos/v87/segmento_n1.rb +19 -0
- data/lib/cnab240/segmentos/v87/segmento_n2.rb +21 -0
- data/lib/cnab240/segmentos/v87/segmento_n3.rb +21 -0
- data/lib/cnab240/segmentos/v87/segmento_n4.rb +23 -0
- data/lib/cnab240/segmentos/v87/segmento_n5.rb +21 -0
- data/lib/cnab240/segmentos/v87/segmento_n6.rb +21 -0
- data/lib/cnab240/segmentos/v87/segmento_n7.rb +21 -0
- data/lib/cnab240/segmentos/v87/segmento_n8.rb +22 -0
- data/lib/cnab240/segmentos/v87/segmento_o.rb +27 -0
- data/lib/cnab240/segmentos/v87/segmento_w.rb +24 -0
- data/lib/cnab240/segmentos/v87/segmento_w1.rb +16 -0
- data/lib/cnab240/segmentos/v87/segmento_z.rb +19 -0
- data/lib/cnab240/version.rb +1 -2
- data/lib/cnab240.rb +54 -24
- metadata +64 -133
- data/.gitignore +0 -19
- data/.rspec +0 -2
- data/.travis.yml +0 -4
- data/Gemfile +0 -6
- data/LICENSE +0 -22
- data/README.md +0 -135
- data/docs/vendor/febraban/subcpadr12_layout_padrao_V86.pdf +0 -0
- data/docs/vendor/itau/SISPAG_CNAB_240.pdf +0 -0
- data/docs/vendor/itau/sisdeb_cnab_240.pdf +0 -0
- data/spec/arquivo/arquivo_spec.rb +0 -95
- data/spec/arquivo/v40/header_spec.rb +0 -68
- data/spec/arquivo/v40/trailer_spec.rb +0 -25
- data/spec/arquivo/v80/header_spec.rb +0 -60
- data/spec/arquivo/v80/trailer_spec.rb +0 -26
- data/spec/arquivo/v86/header_spec.rb +0 -89
- data/spec/arquivo/v86/trailer_spec.rb +0 -27
- data/spec/bindata/bindata_spec.rb +0 -55
- data/spec/cnab240_spec.rb +0 -22
- data/spec/helper/pagamento_itau_spec.rb +0 -83
- data/spec/hom/hom_spec.rb +0 -65
- data/spec/hom/retorno/SB22112AIT.RET +0 -5
- data/spec/hom/retorno/SB23112AIT.RET +0 -5
- data/spec/pagamentos/v40/header_spec.rb +0 -59
- data/spec/pagamentos/v40/lote_spec.rb +0 -25
- data/spec/pagamentos/v40/trailer_spec.rb +0 -28
- data/spec/pagamentos/v80/header_spec.rb +0 -52
- data/spec/pagamentos/v80/lote_spec.rb +0 -25
- data/spec/pagamentos/v80/trailer_spec.rb +0 -28
- data/spec/pagamentos/v86/header_spec.rb +0 -53
- data/spec/pagamentos/v86/lote_spec.rb +0 -38
- data/spec/pagamentos/v86/titulos/header_spec.rb +0 -51
- data/spec/pagamentos/v86/titulos/lote_spec.rb +0 -37
- data/spec/pagamentos/v86/titulos/trailer_spec.rb +0 -30
- data/spec/pagamentos/v86/trailer_spec.rb +0 -30
- data/spec/pagamentos/v86/tributos/header_spec.rb +0 -53
- data/spec/pagamentos/v86/tributos/lote_spec.rb +0 -43
- data/spec/pagamentos/v86/tributos/trailer_spec.rb +0 -27
- data/spec/segmentos/v40/segmento_a_spec.rb +0 -70
- data/spec/segmentos/v80/segmento_a_spec.rb +0 -70
- data/spec/segmentos/v86/segmento_a_spec.rb +0 -65
- data/spec/segmentos/v86/segmento_b_spec.rb +0 -67
- data/spec/segmentos/v86/segmento_c_spec.rb +0 -51
- data/spec/segmentos/v86/segmento_j52_spec.rb +0 -55
- data/spec/segmentos/v86/segmento_j_spec.rb +0 -55
- data/spec/segmentos/v86/segmento_n1_spec.rb +0 -43
- data/spec/segmentos/v86/segmento_n2_spec.rb +0 -46
- data/spec/segmentos/v86/segmento_n3_spec.rb +0 -45
- data/spec/segmentos/v86/segmento_n4_spec.rb +0 -47
- data/spec/segmentos/v86/segmento_n5_spec.rb +0 -45
- data/spec/segmentos/v86/segmento_n6_spec.rb +0 -45
- data/spec/segmentos/v86/segmento_n7_spec.rb +0 -46
- data/spec/segmentos/v86/segmento_n8_spec.rb +0 -45
- data/spec/segmentos/v86/segmento_n_spec.rb +0 -73
- data/spec/segmentos/v86/segmento_o_spec.rb +0 -50
- data/spec/segmentos/v86/segmento_spec.rb +0 -12
- data/spec/segmentos/v86/segmento_w_spec.rb +0 -51
- data/spec/segmentos/v86/segmento_z_spec.rb +0 -42
- data/spec/spec_helper.rb +0 -10
- data/spec/tmp/.gitkeep +0 -0
@@ -1,60 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe Cnab240::V80::Arquivo::Header do
|
4
|
-
|
5
|
-
it "deve ter campos de header" do
|
6
|
-
header = Cnab240::V80::Arquivo::Header.new
|
7
|
-
|
8
|
-
header.should respond_to(:controle_banco)
|
9
|
-
header.should respond_to(:controle_lote)
|
10
|
-
header.should respond_to(:controle_registro)
|
11
|
-
|
12
|
-
header.should respond_to(:brancos_1)
|
13
|
-
header.should respond_to(:arquivo_layout)
|
14
|
-
|
15
|
-
header.should respond_to(:empresa_tipo)
|
16
|
-
header.should respond_to(:empresa_numero)
|
17
|
-
|
18
|
-
header.should respond_to(:brancos_2)
|
19
|
-
|
20
|
-
header.should respond_to(:empresa_agencia_codigo)
|
21
|
-
header.should respond_to(:brancos_3)
|
22
|
-
header.should respond_to(:empresa_conta_numero)
|
23
|
-
header.should respond_to(:brancos_4)
|
24
|
-
header.should respond_to(:empresa_agencia_conta_dv)
|
25
|
-
header.should respond_to(:empresa_nome)
|
26
|
-
header.should respond_to(:banco_nome)
|
27
|
-
header.should respond_to(:brancos_5)
|
28
|
-
|
29
|
-
header.should respond_to(:arquivo_codigo)
|
30
|
-
header.should respond_to(:arquivo_data_geracao)
|
31
|
-
header.should respond_to(:arquivo_hora_geracao)
|
32
|
-
|
33
|
-
header.should respond_to(:brancos_6)
|
34
|
-
|
35
|
-
header.should respond_to(:arquivo_densidade)
|
36
|
-
|
37
|
-
header.should respond_to(:brancos_7)
|
38
|
-
end
|
39
|
-
|
40
|
-
it "header deve ter 240 caracteres" do
|
41
|
-
header = Cnab240::V80::Arquivo::Header.new
|
42
|
-
header.linha.length.should be(240)
|
43
|
-
end
|
44
|
-
|
45
|
-
it "conversao deve manter consistencia" do
|
46
|
-
header = Cnab240::V80::Arquivo::Header.new
|
47
|
-
|
48
|
-
header.controle_banco= "8"
|
49
|
-
header.controle_lote= "8"
|
50
|
-
header.controle_registro= "8"
|
51
|
-
|
52
|
-
|
53
|
-
linha1 = header.linha
|
54
|
-
|
55
|
-
header2 = Cnab240::V80::Arquivo::Header.read(linha1)
|
56
|
-
linha2 = header2.linha
|
57
|
-
|
58
|
-
linha1.should eq linha2
|
59
|
-
end
|
60
|
-
end
|
@@ -1,26 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
|
4
|
-
describe Cnab240::V80::Arquivo::Trailer do
|
5
|
-
|
6
|
-
it "deve conter campos trailer" do
|
7
|
-
header = Cnab240::V80::Arquivo::Trailer.new
|
8
|
-
|
9
|
-
header.should respond_to(:controle_banco)
|
10
|
-
header.should respond_to(:controle_lote)
|
11
|
-
header.should respond_to(:controle_registro)
|
12
|
-
|
13
|
-
header.should respond_to(:cnab_g004_1)
|
14
|
-
|
15
|
-
header.should respond_to(:totais_qtde_lotes)
|
16
|
-
header.should respond_to(:totais_qtde_registros)
|
17
|
-
|
18
|
-
header.should respond_to(:cnab_g004_2)
|
19
|
-
end
|
20
|
-
|
21
|
-
it "trailer deve ter 240 caracteres" do
|
22
|
-
trailer = Cnab240::V80::Arquivo::Trailer.new
|
23
|
-
trailer.linha.length.should be(240)
|
24
|
-
end
|
25
|
-
|
26
|
-
end
|
@@ -1,89 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
|
4
|
-
describe Cnab240::V86::Arquivo::Header do
|
5
|
-
|
6
|
-
it "deve ter campos de header" do
|
7
|
-
header = Cnab240::V86::Arquivo::Header.new
|
8
|
-
|
9
|
-
header.should respond_to(:controle_banco)
|
10
|
-
header.should respond_to(:controle_lote)
|
11
|
-
header.should respond_to(:controle_registro)
|
12
|
-
|
13
|
-
header.should respond_to(:cnab_g004_1)
|
14
|
-
|
15
|
-
header.should respond_to(:empresa_tipo)
|
16
|
-
header.should respond_to(:empresa_numero)
|
17
|
-
header.should respond_to(:empresa_convenio)
|
18
|
-
header.should respond_to(:empresa_agencia_codigo)
|
19
|
-
header.should respond_to(:empresa_agencia_dv)
|
20
|
-
header.should respond_to(:empresa_conta_numero)
|
21
|
-
header.should respond_to(:empresa_conta_dv)
|
22
|
-
header.should respond_to(:empresa_agencia_conta_dv)
|
23
|
-
header.should respond_to(:empresa_nome)
|
24
|
-
|
25
|
-
header.should respond_to(:banco_nome)
|
26
|
-
|
27
|
-
header.should respond_to(:cnab_g004_2)
|
28
|
-
|
29
|
-
header.should respond_to(:arquivo_codigo)
|
30
|
-
header.should respond_to(:arquivo_data_geracao)
|
31
|
-
header.should respond_to(:arquivo_hora_geracao)
|
32
|
-
header.should respond_to(:arquivo_sequencia)
|
33
|
-
header.should respond_to(:arquivo_layout)
|
34
|
-
header.should respond_to(:arquivo_densidade)
|
35
|
-
|
36
|
-
header.should respond_to(:reservado_banco)
|
37
|
-
header.should respond_to(:reservado_empresa)
|
38
|
-
|
39
|
-
header.should respond_to(:cnab_g004_3)
|
40
|
-
end
|
41
|
-
|
42
|
-
it "header deve ter 240 caracteres" do
|
43
|
-
header = Cnab240::V86::Arquivo::Header.new
|
44
|
-
header.linha.length.should be(240)
|
45
|
-
end
|
46
|
-
|
47
|
-
it "conversao deve manter consistencia" do
|
48
|
-
header = Cnab240::V86::Arquivo::Header.new
|
49
|
-
|
50
|
-
header.controle_banco= "8"
|
51
|
-
header.controle_lote= "8"
|
52
|
-
header.controle_registro= "8"
|
53
|
-
|
54
|
-
header.cnab_g004_1= "8"
|
55
|
-
|
56
|
-
header.empresa_tipo= "8"
|
57
|
-
header.empresa_numero= "8"
|
58
|
-
header.empresa_convenio= "8"
|
59
|
-
header.empresa_agencia_codigo= "8"
|
60
|
-
header.empresa_agencia_dv= "8"
|
61
|
-
header.empresa_conta_numero= "8"
|
62
|
-
header.empresa_conta_dv= "8"
|
63
|
-
header.empresa_agencia_conta_dv= "8"
|
64
|
-
header.empresa_nome= "8"
|
65
|
-
|
66
|
-
header.banco_nome= "8"
|
67
|
-
|
68
|
-
header.cnab_g004_2= "8"
|
69
|
-
|
70
|
-
header.arquivo_codigo= "8"
|
71
|
-
header.arquivo_data_geracao= "8"
|
72
|
-
header.arquivo_hora_geracao= "8"
|
73
|
-
header.arquivo_sequencia= "8"
|
74
|
-
header.arquivo_layout= "085"
|
75
|
-
header.arquivo_densidade= "8"
|
76
|
-
|
77
|
-
header.reservado_banco= "8"
|
78
|
-
header.reservado_empresa= "8"
|
79
|
-
|
80
|
-
header.cnab_g004_3= "8"
|
81
|
-
|
82
|
-
linha1 = header.linha
|
83
|
-
|
84
|
-
header2 = Cnab240::V86::Arquivo::Header.read(linha1)
|
85
|
-
linha2 = header2.linha
|
86
|
-
|
87
|
-
linha1.should eq linha2
|
88
|
-
end
|
89
|
-
end
|
@@ -1,27 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
|
4
|
-
describe Cnab240::V86::Arquivo::Trailer do
|
5
|
-
|
6
|
-
it "deve conter campos trailer" do
|
7
|
-
header = Cnab240::V86::Arquivo::Trailer.new
|
8
|
-
|
9
|
-
header.should respond_to(:controle_banco)
|
10
|
-
header.should respond_to(:controle_lote)
|
11
|
-
header.should respond_to(:controle_registro)
|
12
|
-
|
13
|
-
header.should respond_to(:cnab_g004_1)
|
14
|
-
|
15
|
-
header.should respond_to(:totais_qtde_lotes)
|
16
|
-
header.should respond_to(:totais_qtde_registros)
|
17
|
-
header.should respond_to(:totais_qtde_contas_concil)
|
18
|
-
|
19
|
-
header.should respond_to(:cnab_g004_2)
|
20
|
-
end
|
21
|
-
|
22
|
-
it "trailer deve ter 240 caracteres" do
|
23
|
-
trailer = Cnab240::V86::Arquivo::Trailer.new
|
24
|
-
trailer.linha.length.should be(240)
|
25
|
-
end
|
26
|
-
|
27
|
-
end
|
@@ -1,55 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe "Bindata" do
|
4
|
-
|
5
|
-
it "should work" do
|
6
|
-
class Dummy < BinData::Record
|
7
|
-
string :f1, :length => 3, :pad_byte => '1'
|
8
|
-
string :f2, :length => 4, :initial_value => '0000', :pad_byte => '0'
|
9
|
-
string :f3, :length => 9, :pad_byte => 'X'
|
10
|
-
end
|
11
|
-
|
12
|
-
d1 = Dummy.new
|
13
|
-
s1 = StringIO.new
|
14
|
-
d1.write(s1)
|
15
|
-
|
16
|
-
d2 = Dummy.read(s1.string)
|
17
|
-
s2 = StringIO.new
|
18
|
-
d2.write(s2)
|
19
|
-
|
20
|
-
s1.string.should eq s2.string
|
21
|
-
|
22
|
-
class Dummy2 < BinData::Record
|
23
|
-
string :f1, :length => 3, :pad_byte => '1'
|
24
|
-
string :f2, :value => '0000', :pad_byte => '0', :read_length => 4
|
25
|
-
string :f3, :length => 9, :pad_byte => 'X'
|
26
|
-
end
|
27
|
-
|
28
|
-
d1 = Dummy2.new
|
29
|
-
s1 = StringIO.new
|
30
|
-
d1.write(s1)
|
31
|
-
|
32
|
-
d2 = Dummy2.read(s1.string)
|
33
|
-
s2 = StringIO.new
|
34
|
-
d2.write(s2)
|
35
|
-
|
36
|
-
s1.string.should eq s2.string
|
37
|
-
end
|
38
|
-
|
39
|
-
it "should pad left" do
|
40
|
-
class Dummy3 < BinData::Record
|
41
|
-
lstring :f2, :length => 4, :pad_byte => '0'
|
42
|
-
end
|
43
|
-
|
44
|
-
d1 = Dummy3.new
|
45
|
-
d1.f2 = '1'
|
46
|
-
s1 = StringIO.new
|
47
|
-
d1.write(s1)
|
48
|
-
|
49
|
-
d2 = Dummy3.read(s1.string)
|
50
|
-
d2.f2.should eq('0001')
|
51
|
-
|
52
|
-
end
|
53
|
-
|
54
|
-
|
55
|
-
end
|
data/spec/cnab240_spec.rb
DELETED
@@ -1,22 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe Cnab240 do
|
4
|
-
|
5
|
-
it "deve ter campos de configuracao" do
|
6
|
-
Cnab240.setup do |c|
|
7
|
-
c.should respond_to(:defaults)
|
8
|
-
c.defaults[:empresa_tipo] = "1"
|
9
|
-
end
|
10
|
-
Cnab240.defaults[:empresa_tipo].should eq("1")
|
11
|
-
end
|
12
|
-
|
13
|
-
it "configuracao deve ter efeito" do
|
14
|
-
Cnab240.setup do |config|
|
15
|
-
config.defaults[:empresa_tipo] = "1"
|
16
|
-
end
|
17
|
-
Cnab240.defaults[:empresa_tipo].should eq("1")
|
18
|
-
arquivo = Cnab240::Arquivo::Arquivo.new
|
19
|
-
arquivo.header.empresa_tipo.should eq("1")
|
20
|
-
end
|
21
|
-
|
22
|
-
end
|
@@ -1,83 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
include Cnab240
|
4
|
-
|
5
|
-
describe PagamentoItau do
|
6
|
-
|
7
|
-
it "deve criar pagamento" do
|
8
|
-
|
9
|
-
pagamento = PagamentoItau.new({
|
10
|
-
:empresa_tipo => '2',
|
11
|
-
:empresa_convenio => '1234',
|
12
|
-
:empresa_tipo => '2',
|
13
|
-
:empresa_numero => '01234567891234',
|
14
|
-
:empresa_nome => 'EMPRESA FULANA',
|
15
|
-
:empresa_agencia_codigo => '',
|
16
|
-
:empresa_conta_numero => '',
|
17
|
-
:empresa_agencia_conta_dv => '',
|
18
|
-
:arquivo_sequencia => '1',
|
19
|
-
|
20
|
-
:endereco_logradouro => 'AV BRASIL',
|
21
|
-
:endereco_numero => '123',
|
22
|
-
:endereco_cidade => 'RIO DE JANEIRO',
|
23
|
-
:endereco_cep => '12123412',
|
24
|
-
:endereco_estado => 'RJ',
|
25
|
-
:servico_tipo => '98', # pagamentos - diversos
|
26
|
-
:servico_forma => '03', # doc, ted, etc
|
27
|
-
})
|
28
|
-
|
29
|
-
pagamento << { :favorecido_banco => '001',
|
30
|
-
:favorecido_agencia => '2290',
|
31
|
-
:favorecido_conta => '335959',
|
32
|
-
:credito_seu_numero => '1234',
|
33
|
-
:credito_data_pagamento => '31122012',
|
34
|
-
:credito_valor_pagamento => '100',
|
35
|
-
:numero_inscricao => '12312312312312',
|
36
|
-
:favorecido_nome => 'EMPRESA X',
|
37
|
-
:credito_seu_numero => '1234',
|
38
|
-
:credito_data_pagamento => '30122012',
|
39
|
-
:credito_valor_pagamento => '100'
|
40
|
-
}
|
41
|
-
|
42
|
-
pagamento << { :favorecido_banco => '001',
|
43
|
-
:favorecido_agencia => '2290',
|
44
|
-
:favorecido_conta => '335959',
|
45
|
-
:credito_seu_numero => '1234',
|
46
|
-
:credito_data_pagamento => '31122012',
|
47
|
-
:credito_valor_pagamento => '100',
|
48
|
-
:numero_inscricao => '12312312312312',
|
49
|
-
:favorecido_nome => 'EMPRESA X',
|
50
|
-
:credito_seu_numero => '1234',
|
51
|
-
:credito_data_pagamento => '30122012',
|
52
|
-
:credito_valor_pagamento => '100'
|
53
|
-
}
|
54
|
-
|
55
|
-
|
56
|
-
pagamento.add_lote({ :servico_tipo => '98', # pagamentos - diversos
|
57
|
-
:servico_forma => '03' # doc, ted, et
|
58
|
-
})
|
59
|
-
|
60
|
-
pagamento << { :favorecido_banco => '001',
|
61
|
-
:favorecido_agencia => '2290',
|
62
|
-
:favorecido_conta => '335959',
|
63
|
-
:credito_seu_numero => '1234',
|
64
|
-
:credito_data_pagamento => '31122012',
|
65
|
-
:credito_valor_pagamento => '100',
|
66
|
-
:numero_inscricao => '12312312312312',
|
67
|
-
:favorecido_nome => 'EMPRESA X',
|
68
|
-
:credito_seu_numero => '1234',
|
69
|
-
:credito_data_pagamento => '30122012',
|
70
|
-
:credito_valor_pagamento => '100'
|
71
|
-
}
|
72
|
-
|
73
|
-
|
74
|
-
pagamento.arquivo.header.banco_nome.strip.should eq 'BANCO ITAU'
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
pagamento.save_to_file("spec/tmp/arquivo_itau.test")
|
79
|
-
|
80
|
-
pagamento.string
|
81
|
-
end
|
82
|
-
|
83
|
-
end
|
data/spec/hom/hom_spec.rb
DELETED
@@ -1,65 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
include Cnab240
|
4
|
-
|
5
|
-
describe "HomSpec" do
|
6
|
-
|
7
|
-
it "teste para envio ao banco Itau: homologacao" do
|
8
|
-
|
9
|
-
pagamento = PagamentoItau.new({
|
10
|
-
:empresa_tipo => '2',
|
11
|
-
:empresa_numero => '05946982000122',
|
12
|
-
:empresa_nome => 'REDE DE CONVENIOS DO BRASIL',
|
13
|
-
:empresa_agencia_codigo => '663',
|
14
|
-
:empresa_conta_numero => '01540',
|
15
|
-
:empresa_agencia_conta_dv => '2',
|
16
|
-
:arquivo_sequencia => '1',
|
17
|
-
|
18
|
-
:endereco_logradouro => 'RUA GETULIO VARGAS',
|
19
|
-
:endereco_numero => '3646',
|
20
|
-
:endereco_cidade => 'PORTO VELHO',
|
21
|
-
:endereco_cep => '76000000',
|
22
|
-
:endereco_estado => 'RO',
|
23
|
-
:servico_tipo => '98', # pagamentos - diversos
|
24
|
-
:servico_forma => '41', # doc, ted, etc
|
25
|
-
|
26
|
-
:totais_valor => '600000',
|
27
|
-
:totais_qtde_registros => '3'
|
28
|
-
})
|
29
|
-
|
30
|
-
pagamento << {
|
31
|
-
:favorecido_banco => '001',
|
32
|
-
:favorecido_agencia => '2290',
|
33
|
-
:favorecido_conta => '33595',
|
34
|
-
:favorecido_agencia_conta_dv => '9',
|
35
|
-
:credito_seu_numero => '1',
|
36
|
-
:credito_data_pagamento => '03092012',
|
37
|
-
:credito_valor_pagamento => '600000',
|
38
|
-
:numero_inscricao => '69375208168',
|
39
|
-
:favorecido_nome => 'JOSE EDUARDO MOURAO'
|
40
|
-
}
|
41
|
-
|
42
|
-
pagamento.save_to_file("./spec/tmp/itau46.rem")
|
43
|
-
end
|
44
|
-
|
45
|
-
it "deve carregar arquivo de retorno" do
|
46
|
-
arquivo_read = Cnab240::Arquivo::Arquivo.load_from_file("./spec/hom/retorno/SB22112AIT.RET")[0]
|
47
|
-
|
48
|
-
arquivo_read.lotes.length.should be 1
|
49
|
-
|
50
|
-
arquivo_read.lotes.each_with_index do |lote_read, i|
|
51
|
-
lote_read.header.empresa_nome.equal? 'REDE DE CONVENIOS DO BRASIL '
|
52
|
-
end
|
53
|
-
|
54
|
-
|
55
|
-
arquivo_read = Cnab240::Arquivo::Arquivo.load_from_file("./spec/hom/retorno/SB23112AIT.RET")[0]
|
56
|
-
|
57
|
-
arquivo_read.lotes.length.should be 1
|
58
|
-
|
59
|
-
arquivo_read.lotes.each_with_index do |lote_read, i|
|
60
|
-
lote_read.header.empresa_nome.equal? 'REDE DE CONVENIOS DO BRASIL '
|
61
|
-
end
|
62
|
-
|
63
|
-
end
|
64
|
-
|
65
|
-
end
|
@@ -1,5 +0,0 @@
|
|
1
|
-
34100000 080205946982000122 000191495 00663 000000001540 2REDE DE CONVENIOS DO BRASIL BANCO ITAU S/A 22211201222095600020808006250
|
2
|
-
34100011C9803080 205946982000122 00663 000000001540 2REDE DE CONVENIOS DO BRASIL RUA GETULIO VARGAS 03646 PORTO VELHO 76000000RO
|
3
|
-
3410001300001A00000000100102 000000041210 4R C DE M ALMEIDA 1 22112012BRL000000000000000000000000026235218943371000018 22112012000000000026235 83646609439442000103 0BD
|
4
|
-
34100015 000003000000000000026235000000000000000000
|
5
|
-
34199999 000001000005000000
|
@@ -1,5 +0,0 @@
|
|
1
|
-
34100000 080205946982000122 000191495 00663 000000001540 2REDE DE CONVENIOS DO BRASIL BANCO ITAU S/A 22311201202470801576908006250
|
2
|
-
34100011C9803080 205946982000122 00663 000000001540 2REDE DE CONVENIOS DO BRASIL RUA GETULIO VARGAS 03646 PORTO VELHO 76000000RO
|
3
|
-
3410001300001A00000000100102 000000041210 4R C DE M ALMEIDA 1 22112012BRL000000000000000000000000026235218943371000018 22112012000000000026235 83646609439442000103 0NA
|
4
|
-
34100015 000003000000000000026235000000000000000000
|
5
|
-
34199999 000001000005000000
|
@@ -1,59 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe Cnab240::V40::Pagamentos::Header do
|
4
|
-
|
5
|
-
it "deve conter campos header" do
|
6
|
-
header = Cnab240::V40::Pagamentos::Header.new
|
7
|
-
|
8
|
-
header.should respond_to(:controle_banco)
|
9
|
-
header.should respond_to(:controle_lote)
|
10
|
-
header.should respond_to(:controle_registro)
|
11
|
-
|
12
|
-
header.should respond_to(:servico_operacao)
|
13
|
-
header.should respond_to(:servico_tipo)
|
14
|
-
header.should respond_to(:servico_forma)
|
15
|
-
header.should respond_to(:servico_layout)
|
16
|
-
|
17
|
-
header.should respond_to(:cnab_g004_1)
|
18
|
-
header.should respond_to(:empresa_tipo)
|
19
|
-
header.should respond_to(:empresa_numero)
|
20
|
-
header.should respond_to(:empresa_convenio)
|
21
|
-
|
22
|
-
|
23
|
-
header.should respond_to(:brancos_1)
|
24
|
-
header.should respond_to(:brancos_2)
|
25
|
-
|
26
|
-
|
27
|
-
header.should respond_to(:empresa_agencia_codigo)
|
28
|
-
|
29
|
-
header.should respond_to(:brancos_3)
|
30
|
-
header.should respond_to(:brancos_4)
|
31
|
-
|
32
|
-
header.should respond_to(:empresa_conta_numero)
|
33
|
-
|
34
|
-
header.should respond_to(:brancos_5)
|
35
|
-
|
36
|
-
header.should respond_to(:empresa_agencia_conta_dv)
|
37
|
-
header.should respond_to(:empresa_nome)
|
38
|
-
|
39
|
-
header.should respond_to(:informacao_1)
|
40
|
-
|
41
|
-
header.should respond_to(:endereco_logradouro)
|
42
|
-
header.should respond_to(:endereco_numero)
|
43
|
-
header.should respond_to(:endereco_complemento)
|
44
|
-
header.should respond_to(:endereco_cidade)
|
45
|
-
header.should respond_to(:endereco_cep)
|
46
|
-
header.should respond_to(:endereco_estado)
|
47
|
-
|
48
|
-
header.should respond_to(:cnab_g004_2)
|
49
|
-
header.should respond_to(:ocorrencias)
|
50
|
-
|
51
|
-
end
|
52
|
-
|
53
|
-
|
54
|
-
it "header deve ter 240 caracteres" do
|
55
|
-
header = Cnab240::V40::Pagamentos::Header.new
|
56
|
-
header.linha.length.should be(240)
|
57
|
-
end
|
58
|
-
|
59
|
-
end
|
@@ -1,25 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe Cnab240::Lote do
|
4
|
-
|
5
|
-
it "deve conter trailer e header" do
|
6
|
-
lote = Cnab240::Lote.new(:operacao => :pagamento, :tipo => :remessa, :versao => 'V40')
|
7
|
-
lote.header.should be_an_instance_of(Cnab240::V40::Pagamentos::Header)
|
8
|
-
lote.trailer.should be_an_instance_of(Cnab240::V40::Pagamentos::Trailer)
|
9
|
-
end
|
10
|
-
|
11
|
-
it "deve conter segmento a" do
|
12
|
-
lote = Cnab240::Lote.new(:operacao => :pagamento, :tipo => :remessa, :versao => 'V40')
|
13
|
-
lote << :a
|
14
|
-
lote.segmentos[0].should be_an_instance_of(Cnab240::V40::SegmentoA)
|
15
|
-
end
|
16
|
-
|
17
|
-
it "linhas devem ter 240" do
|
18
|
-
lote = Cnab240::Lote.new(:operacao => :pagamento, :tipo => :remessa, :versao => 'V40')
|
19
|
-
lote.linhas.each do |linha|
|
20
|
-
linha.length.should be(240)
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
|
-
|
25
|
-
end
|
@@ -1,28 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe Cnab240::V40::Pagamentos::Trailer do
|
4
|
-
|
5
|
-
it "deve conter campos trailer" do
|
6
|
-
trailer = Cnab240::V40::Pagamentos::Trailer.new
|
7
|
-
|
8
|
-
trailer.should respond_to(:controle_banco)
|
9
|
-
trailer.should respond_to(:controle_lote)
|
10
|
-
trailer.should respond_to(:controle_registro)
|
11
|
-
|
12
|
-
trailer.should respond_to(:cnab_g004_1)
|
13
|
-
|
14
|
-
trailer.should respond_to(:totais_qtde_registros)
|
15
|
-
trailer.should respond_to(:totais_valor)
|
16
|
-
trailer.should respond_to(:totais_qtde_moeda)
|
17
|
-
|
18
|
-
trailer.should respond_to(:cnab_g004_2)
|
19
|
-
|
20
|
-
trailer.should respond_to(:ocorrencias)
|
21
|
-
end
|
22
|
-
|
23
|
-
it "trailer deve ter 240 caracteres" do
|
24
|
-
trailer = Cnab240::V40::Pagamentos::Trailer.new
|
25
|
-
trailer.linha.length.should be(240)
|
26
|
-
end
|
27
|
-
|
28
|
-
end
|
@@ -1,52 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe Cnab240::V80::Pagamentos::Header do
|
4
|
-
|
5
|
-
it "deve conter campos header" do
|
6
|
-
header = Cnab240::V80::Pagamentos::Header.new
|
7
|
-
|
8
|
-
header.should respond_to(:controle_banco)
|
9
|
-
header.should respond_to(:controle_banco)
|
10
|
-
header.should respond_to(:controle_lote)
|
11
|
-
header.should respond_to(:controle_registro)
|
12
|
-
|
13
|
-
header.should respond_to(:servico_operacao)
|
14
|
-
header.should respond_to(:servico_tipo)
|
15
|
-
header.should respond_to(:servico_forma)
|
16
|
-
header.should respond_to(:servico_layout)
|
17
|
-
header.should respond_to(:cnab_g004_1)
|
18
|
-
|
19
|
-
header.should respond_to(:empresa_tipo)
|
20
|
-
header.should respond_to(:empresa_numero)
|
21
|
-
header.should respond_to(:identificacao_lancamento)
|
22
|
-
header.should respond_to(:brancos_1)
|
23
|
-
|
24
|
-
header.should respond_to(:empresa_agencia_codigo)
|
25
|
-
header.should respond_to(:brancos_2)
|
26
|
-
header.should respond_to(:empresa_conta_numero)
|
27
|
-
header.should respond_to(:brancos_3)
|
28
|
-
header.should respond_to(:empresa_agencia_conta_dv)
|
29
|
-
header.should respond_to(:empresa_nome)
|
30
|
-
|
31
|
-
header.should respond_to(:finalidade_lote)
|
32
|
-
header.should respond_to(:historico_cc)
|
33
|
-
|
34
|
-
header.should respond_to(:endereco_logradouro)
|
35
|
-
header.should respond_to(:endereco_numero)
|
36
|
-
header.should respond_to(:endereco_complemento)
|
37
|
-
header.should respond_to(:endereco_cidade)
|
38
|
-
header.should respond_to(:endereco_cep)
|
39
|
-
header.should respond_to(:endereco_estado)
|
40
|
-
|
41
|
-
header.should respond_to(:brancos_4)
|
42
|
-
header.should respond_to(:ocorrencias)
|
43
|
-
|
44
|
-
end
|
45
|
-
|
46
|
-
|
47
|
-
it "header deve ter 240 caracteres" do
|
48
|
-
header = Cnab240::V80::Pagamentos::Header.new
|
49
|
-
header.linha.length.should be(240)
|
50
|
-
end
|
51
|
-
|
52
|
-
end
|
@@ -1,25 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe Cnab240::Lote do
|
4
|
-
|
5
|
-
it "deve conter trailer e header" do
|
6
|
-
lote = Cnab240::Lote.new(:operacao => :pagamento, :tipo => :remessa, :versao => 'V80')
|
7
|
-
lote.header.should be_an_instance_of(Cnab240::V80::Pagamentos::Header)
|
8
|
-
lote.trailer.should be_an_instance_of(Cnab240::V80::Pagamentos::Trailer)
|
9
|
-
end
|
10
|
-
|
11
|
-
it "deve conter segmento a" do
|
12
|
-
lote = Cnab240::Lote.new(:operacao => :pagamento, :tipo => :remessa, :versao => 'V80')
|
13
|
-
lote << :a
|
14
|
-
lote.segmentos[0].should be_an_instance_of(Cnab240::V80::SegmentoA)
|
15
|
-
end
|
16
|
-
|
17
|
-
it "linhas devem ter 240" do
|
18
|
-
lote = Cnab240::Lote.new(:operacao => :pagamento, :tipo => :remessa, :versao => 'V80')
|
19
|
-
lote.linhas.each do |linha|
|
20
|
-
linha.length.should be(240)
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
|
-
|
25
|
-
end
|
@@ -1,28 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe Cnab240::V80::Pagamentos::Trailer do
|
4
|
-
|
5
|
-
it "deve conter campos trailer" do
|
6
|
-
trailer = Cnab240::V80::Pagamentos::Trailer.new
|
7
|
-
|
8
|
-
trailer.should respond_to(:controle_banco)
|
9
|
-
trailer.should respond_to(:controle_lote)
|
10
|
-
trailer.should respond_to(:controle_registro)
|
11
|
-
|
12
|
-
trailer.should respond_to(:cnab_g004_1)
|
13
|
-
|
14
|
-
trailer.should respond_to(:totais_qtde_registros)
|
15
|
-
trailer.should respond_to(:totais_valor)
|
16
|
-
trailer.should respond_to(:zeros)
|
17
|
-
|
18
|
-
trailer.should respond_to(:cnab_g004_2)
|
19
|
-
|
20
|
-
trailer.should respond_to(:ocorrencias)
|
21
|
-
end
|
22
|
-
|
23
|
-
it "trailer deve ter 240 caracteres" do
|
24
|
-
trailer = Cnab240::V80::Pagamentos::Trailer.new
|
25
|
-
trailer.linha.length.should be(240)
|
26
|
-
end
|
27
|
-
|
28
|
-
end
|