brcobranca 10.0.0 → 11.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (115) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +1 -165
  3. data/README.md +25 -19
  4. data/Rakefile +0 -5
  5. data/lib/brcobranca/arquivos/templates/modelo_generico2.eps +9967 -0
  6. data/lib/brcobranca/boleto/ailos.rb +3 -2
  7. data/lib/brcobranca/boleto/banco_brasil.rb +5 -1
  8. data/lib/brcobranca/boleto/base.rb +3 -1
  9. data/lib/brcobranca/boleto/citibank.rb +1 -1
  10. data/lib/brcobranca/boleto/sicredi.rb +1 -1
  11. data/lib/brcobranca/boleto/template/base.rb +4 -0
  12. data/lib/brcobranca/boleto/template/rghost.rb +16 -11
  13. data/lib/brcobranca/boleto/template/rghost2.rb +263 -0
  14. data/lib/brcobranca/boleto/template/rghost_bolepix.rb +279 -0
  15. data/lib/brcobranca/boleto/template/rghost_carne.rb +8 -8
  16. data/lib/brcobranca/formatacao.rb +12 -12
  17. data/lib/brcobranca/remessa/base.rb +1 -2
  18. data/lib/brcobranca/remessa/cnab240/ailos.rb +4 -2
  19. data/lib/brcobranca/remessa/cnab240/base.rb +1 -1
  20. data/lib/brcobranca/remessa/cnab240/santander.rb +224 -0
  21. data/lib/brcobranca/remessa/cnab240/sicoob.rb +1 -1
  22. data/lib/brcobranca/remessa/cnab240/sicoob_banco_brasil.rb +1 -1
  23. data/lib/brcobranca/remessa/cnab240/sicredi.rb +1 -1
  24. data/lib/brcobranca/remessa/cnab400/banco_brasil.rb +1 -1
  25. data/lib/brcobranca/remessa/cnab400/banrisul.rb +1 -1
  26. data/lib/brcobranca/remessa/cnab400/santander.rb +1 -1
  27. data/lib/brcobranca/remessa/pagamento.rb +15 -15
  28. data/lib/brcobranca/retorno/cnab240/ailos.rb +2 -2
  29. data/lib/brcobranca/retorno/cnab240/base.rb +1 -1
  30. data/lib/brcobranca/retorno/cnab240/santander.rb +2 -2
  31. data/lib/brcobranca/retorno/cnab240/sicoob.rb +2 -2
  32. data/lib/brcobranca/retorno/cnab240/sicredi.rb +2 -2
  33. data/lib/brcobranca/retorno/cnab400/banco_brasil.rb +4 -1
  34. data/lib/brcobranca/retorno/cnab400/banco_brasilia.rb +1 -1
  35. data/lib/brcobranca/retorno/cnab400/banco_nordeste.rb +1 -1
  36. data/lib/brcobranca/retorno/cnab400/banrisul.rb +1 -1
  37. data/lib/brcobranca/retorno/cnab400/base.rb +1 -1
  38. data/lib/brcobranca/retorno/cnab400/bradesco.rb +1 -1
  39. data/lib/brcobranca/retorno/cnab400/credisis.rb +1 -1
  40. data/lib/brcobranca/retorno/cnab400/itau.rb +1 -1
  41. data/lib/brcobranca/retorno/cnab400/santander.rb +1 -1
  42. data/lib/brcobranca/retorno/cnab400/unicred.rb +1 -1
  43. data/lib/brcobranca/retorno/retorno_cnab240.rb +2 -2
  44. data/lib/brcobranca/retorno/retorno_cnab400.rb +1 -1
  45. data/lib/brcobranca/version.rb +1 -1
  46. data/lib/brcobranca.rb +4 -0
  47. metadata +16 -147
  48. data/HISTORY.md +0 -71
  49. data/spec/brcobranca/base_spec.rb +0 -179
  50. data/spec/brcobranca/boleto/ailos_spec.rb +0 -148
  51. data/spec/brcobranca/boleto/banco_brasil_spec.rb +0 -336
  52. data/spec/brcobranca/boleto/banco_brasilia_spec.rb +0 -153
  53. data/spec/brcobranca/boleto/banco_nordeste_spec.rb +0 -160
  54. data/spec/brcobranca/boleto/banestes_spec.rb +0 -193
  55. data/spec/brcobranca/boleto/banrisul_spec.rb +0 -180
  56. data/spec/brcobranca/boleto/bradesco_spec.rb +0 -214
  57. data/spec/brcobranca/boleto/caixa_spec.rb +0 -160
  58. data/spec/brcobranca/boleto/citibank_spec.rb +0 -195
  59. data/spec/brcobranca/boleto/credisis_spec.rb +0 -160
  60. data/spec/brcobranca/boleto/hsbc_spec.rb +0 -171
  61. data/spec/brcobranca/boleto/itau_spec.rb +0 -261
  62. data/spec/brcobranca/boleto/safra_spec.rb +0 -171
  63. data/spec/brcobranca/boleto/santander_spec.rb +0 -142
  64. data/spec/brcobranca/boleto/sicoob_spec.rb +0 -192
  65. data/spec/brcobranca/boleto/sicredi_spec.rb +0 -194
  66. data/spec/brcobranca/boleto/unicred_spec.rb +0 -139
  67. data/spec/brcobranca/boletos_em_lote_spec.rb +0 -38
  68. data/spec/brcobranca/calculo_data_spec.rb +0 -33
  69. data/spec/brcobranca/calculo_spec.rb +0 -187
  70. data/spec/brcobranca/currency_spec.rb +0 -79
  71. data/spec/brcobranca/formatacao_spec.rb +0 -46
  72. data/spec/brcobranca/formatacao_string_spec.rb +0 -31
  73. data/spec/brcobranca/limpeza_spec.rb +0 -10
  74. data/spec/brcobranca/remessa/base_spec.rb +0 -66
  75. data/spec/brcobranca/remessa/cnab240/ailos_spec.rb +0 -165
  76. data/spec/brcobranca/remessa/cnab240/banco_brasil_spec.rb +0 -222
  77. data/spec/brcobranca/remessa/cnab240/base_spec.rb +0 -114
  78. data/spec/brcobranca/remessa/cnab240/caixa_spec.rb +0 -165
  79. data/spec/brcobranca/remessa/cnab240/sicoob_banco_brasil_spec.rb +0 -272
  80. data/spec/brcobranca/remessa/cnab240/sicoob_spec.rb +0 -200
  81. data/spec/brcobranca/remessa/cnab240/sicredi_spec.rb +0 -203
  82. data/spec/brcobranca/remessa/cnab240/unicred_spec.rb +0 -195
  83. data/spec/brcobranca/remessa/cnab400/banco_brasil_spec.rb +0 -190
  84. data/spec/brcobranca/remessa/cnab400/banco_brasilia_spec.rb +0 -188
  85. data/spec/brcobranca/remessa/cnab400/banco_nordeste_spec.rb +0 -192
  86. data/spec/brcobranca/remessa/cnab400/banrisul_spec.rb +0 -192
  87. data/spec/brcobranca/remessa/cnab400/base_spec.rb +0 -68
  88. data/spec/brcobranca/remessa/cnab400/bradesco_spec.rb +0 -203
  89. data/spec/brcobranca/remessa/cnab400/citibank_spec.rb +0 -128
  90. data/spec/brcobranca/remessa/cnab400/credisis_spec.rb +0 -190
  91. data/spec/brcobranca/remessa/cnab400/itau_spec.rb +0 -192
  92. data/spec/brcobranca/remessa/cnab400/santander_spec.rb +0 -154
  93. data/spec/brcobranca/remessa/cnab400/sicoob_spec.rb +0 -217
  94. data/spec/brcobranca/remessa/cnab400/unicred_spec.rb +0 -186
  95. data/spec/brcobranca/remessa/pagamento_spec.rb +0 -228
  96. data/spec/brcobranca/retorno/cnab240/base_spec.rb +0 -24
  97. data/spec/brcobranca/retorno/cnab240/cecred_spec.rb +0 -52
  98. data/spec/brcobranca/retorno/cnab240/santander_spec.rb +0 -52
  99. data/spec/brcobranca/retorno/cnab240/sicoob_spec.rb +0 -52
  100. data/spec/brcobranca/retorno/cnab240/sicredi_spec.rb +0 -33
  101. data/spec/brcobranca/retorno/cnab400/banco_brasilia_spec.rb +0 -37
  102. data/spec/brcobranca/retorno/cnab400/banco_nordeste_spec.rb +0 -40
  103. data/spec/brcobranca/retorno/cnab400/banrisul_spec.rb +0 -42
  104. data/spec/brcobranca/retorno/cnab400/base_spec.rb +0 -57
  105. data/spec/brcobranca/retorno/cnab400/bradesco_spec.rb +0 -59
  106. data/spec/brcobranca/retorno/cnab400/credisis_spec.rb +0 -26
  107. data/spec/brcobranca/retorno/cnab400/itau_spec.rb +0 -60
  108. data/spec/brcobranca/retorno/cnab400/santander_spec.rb +0 -40
  109. data/spec/brcobranca/retorno/cnab400/unicred_spec.rb +0 -38
  110. data/spec/brcobranca/retorno/retorno_cbr643_spec.rb +0 -69
  111. data/spec/brcobranca/retorno/retorno_cnab400_spec.rb +0 -58
  112. data/spec/brcobranca/retorno/retorno_cnab_240_spec.rb +0 -53
  113. data/spec/brcobranca/rghost_spec.rb +0 -29
  114. data/spec/brcobranca/util/empresa_spec.rb +0 -35
  115. data/spec/brcobranca_spec.rb +0 -33
@@ -1,69 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'spec_helper'
4
-
5
- RSpec.describe Brcobranca::Retorno::RetornoCbr643 do
6
- before do
7
- @arquivo = File.join(File.dirname(__FILE__), '..', '..', 'arquivos', 'CBR64310.RET')
8
- end
9
-
10
- it 'Transforma arquivo de retorno em objetos de retorno' do
11
- pagamentos = described_class.load_lines(@arquivo)
12
- expect(pagamentos.first.sequencial).to eql('000001')
13
- expect(pagamentos.first.agencia_com_dv).to eql('CA')
14
- expect(pagamentos.first.cedente_com_dv).to eql('33251')
15
- expect(pagamentos.first.convenio).to eql('0002893')
16
- expect(pagamentos.first.data_liquidacao).to eql('')
17
- expect(pagamentos.first.data_credito).to eql('')
18
- expect(pagamentos.first.valor_recebido).to eql('')
19
- expect(pagamentos.first.nosso_numero).to eql('OSSENSE DO AL001B')
20
- end
21
-
22
- it 'Transforma arquivo de retorno em objetos de retorno excluindo a primeira linha com a opção :except' do
23
- pagamentos = described_class.load_lines(@arquivo, except: [1])
24
- expect(pagamentos.first.sequencial).to eql('000002')
25
- expect(pagamentos.first.agencia_com_dv).to eql('33251')
26
- expect(pagamentos.first.cedente_com_dv).to eql('000289353')
27
- expect(pagamentos.first.convenio).to eql('1622420')
28
- expect(pagamentos.first.data_liquidacao).to eql('200109')
29
- expect(pagamentos.first.data_credito).to eql('220109')
30
- expect(pagamentos.first.valor_recebido).to eql('0000000009064')
31
- expect(pagamentos.first.nosso_numero).to eql('16224200000000003')
32
- end
33
-
34
- # it "Transforma arquivo de retorno em objetos de retorno excluindo a primeira linha com a opção :except e :length" do
35
- # pagamentos = Brcobranca::Retorno::RetornoCbr643.load_lines(@arquivo,{:except => [1], :length => 400})
36
- # pagamentos.first.sequencial.should eql("000002")
37
- # pagamentos.first.agencia_com_dv.should eql("33251")
38
- # pagamentos.first.cedente_com_dv.should eql("000289353")
39
- # pagamentos.first.convenio.should eql("1622420")
40
- # pagamentos.first.data_liquidacao.should eql("200109")
41
- # pagamentos.first.data_credito.should eql("220109")
42
- # pagamentos.first.valor_recebido.should eql("0000000009064")
43
- # pagamentos.first.nosso_numero.should eql("16224200000000003")
44
- # end
45
-
46
- it 'Transforma arquivo de retorno em objetos de retorno excluindo a primeira linha com a opção :except em regex' do
47
- pagamentos = described_class.load_lines(@arquivo, except: /^[^7]/)
48
- expect(pagamentos.first.sequencial).to eql('000002')
49
- expect(pagamentos.first.agencia_com_dv).to eql('33251')
50
- expect(pagamentos.first.cedente_com_dv).to eql('000289353')
51
- expect(pagamentos.first.convenio).to eql('1622420')
52
- expect(pagamentos.first.data_liquidacao).to eql('200109')
53
- expect(pagamentos.first.data_credito).to eql('220109')
54
- expect(pagamentos.first.valor_recebido).to eql('0000000009064')
55
- expect(pagamentos.first.nosso_numero).to eql('16224200000000003')
56
- end
57
-
58
- # it "Transforma arquivo de retorno em objetos de retorno excluindo a primeira linha com a opção :except em regex e :length" do
59
- # pagamentos = Brcobranca::Retorno::RetornoCbr643.load_lines(@arquivo,{:except => /^[^7]/, :length => 400})
60
- # pagamentos.first.sequencial.should eql("000002")
61
- # pagamentos.first.agencia_com_dv.should eql("33251")
62
- # pagamentos.first.cedente_com_dv.should eql("000289353")
63
- # pagamentos.first.convenio.should eql("1622420")
64
- # pagamentos.first.data_liquidacao.should eql("200109")
65
- # pagamentos.first.data_credito.should eql("220109")
66
- # pagamentos.first.valor_recebido.should eql("0000000009064")
67
- # pagamentos.first.nosso_numero.should eql("16224200000000003")
68
- # end
69
- end
@@ -1,58 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'spec_helper'
4
-
5
- RSpec.describe Brcobranca::Retorno::RetornoCnab400 do
6
- before do
7
- @arquivo = File.join(File.dirname(__FILE__), '..', '..', 'arquivos', 'CNAB400.RET')
8
- end
9
-
10
- it 'Ignora primeira linha que é header' do
11
- pagamentos = described_class.load_lines(@arquivo)
12
- pagamento = pagamentos.first
13
- expect(pagamento.sequencial).to eql('000002')
14
- end
15
-
16
- it 'Transforma arquivo de retorno em objetos de retorno retornando somente as linhas de pagamentos de títulos sem registro' do
17
- pagamentos = described_class.load_lines(@arquivo)
18
- expect(pagamentos.size).to eq(53) # deve ignorar a primeira linha que é header
19
- pagamento = pagamentos.first
20
- expect(pagamento.agencia_com_dv).to eql('0730')
21
- expect(pagamento.cedente_com_dv).to eql('035110')
22
- expect(pagamento.nosso_numero).to eql('00000011')
23
- expect(pagamento.carteira_variacao).to eql('109')
24
- expect(pagamento.carteira).to eql('I')
25
- expect(pagamento.data_vencimento).to eql('000000')
26
- expect(pagamento.valor_titulo).to eql('0000000004000')
27
- expect(pagamento.banco_recebedor).to eql('104')
28
- expect(pagamento.agencia_recebedora_com_dv).to eql('18739')
29
- expect(pagamento.especie_documento).to eql('')
30
- expect(pagamento.valor_tarifa).to eql('0000000000210')
31
- expect(pagamento.iof).to eql('0000000000000')
32
- expect(pagamento.valor_abatimento).to eql('0000000000000')
33
- expect(pagamento.desconto).to eql('0000000000000')
34
- expect(pagamento.valor_recebido).to eql('0000000003790')
35
- expect(pagamento.juros_mora).to eql('0000000000000')
36
- expect(pagamento.outros_recebimento).to eql('0000000000000')
37
- expect(pagamento.data_credito).to eql('210513')
38
- expect(pagamento.motivo_ocorrencia).to eql([])
39
- expect(pagamento.sequencial).to eql('000002')
40
-
41
- # Campos da classe base que não encontrei a relação com CNAB400
42
- # parse.field :tipo_cobranca,80..80
43
- # parse.field :tipo_cobranca_anterior,81..81
44
- # parse.field :natureza_recebimento,86..87
45
- # parse.field :convenio,31..37
46
- # parse.field :comando,108..109
47
- # parse.field :juros_desconto,201..213
48
- # parse.field :iof_desconto,214..226
49
- # parse.field :desconto_concedito,240..252
50
- # parse.field :outras_despesas,279..291
51
- # parse.field :abatimento_nao_aproveitado,292..304
52
- # parse.field :data_liquidacao,295..300
53
- # parse.field :valor_lancamento,305..317
54
- # parse.field :indicativo_lancamento,318..318
55
- # parse.field :indicador_valor,319..319
56
- # parse.field :valor_ajuste,320..331
57
- end
58
- end
@@ -1,53 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'spec_helper'
4
-
5
- RSpec.describe Brcobranca::Retorno::RetornoCnab240 do
6
- before do
7
- @arquivo = File.join(File.dirname(__FILE__), '..', '..', 'arquivos', 'CNAB240.RET')
8
- end
9
-
10
- it 'Transforma arquivo de retorno em objetos de retorno retornando somente as linhas de pagamentos de títulos sem registro' do
11
- pagamentos = described_class.load_lines(@arquivo)
12
- expect(pagamentos.size).to eq(35)
13
- pagamento = pagamentos.first
14
- expect(pagamento.agencia_com_dv).to eql('012345')
15
- expect(pagamento.cedente_com_dv).to eql('0000000054321')
16
- expect(pagamento.nosso_numero).to eql('00020673')
17
- expect(pagamento.carteira).to eql('7')
18
- expect(pagamento.data_vencimento).to eql('00000000')
19
- expect(pagamento.valor_titulo).to eql('000000000034400')
20
- expect(pagamento.banco_recebedor).to eql('001')
21
- expect(pagamento.agencia_recebedora_com_dv).to eql('020850')
22
- # expect(pagamento.data_ocorrencia).to eql('02012012')
23
- expect(pagamento.data_credito).to eql('02012012')
24
- expect(pagamento.outras_despesas).to eql('000000000000004')
25
- expect(pagamento.iof_desconto).to eql('000000000000003')
26
- expect(pagamento.valor_abatimento).to eql('000000000000002')
27
- expect(pagamento.desconto_concedito).to eql('000000000000001')
28
- expect(pagamento.valor_recebido).to eql('000000000034400')
29
- expect(pagamento.juros_mora).to eql('000000000000009')
30
- expect(pagamento.outros_recebimento).to eql('000000000000005')
31
- expect(pagamento.sequencial).to eql('00001')
32
- expect(pagamento.valor_tarifa).to eql('000000000000103')
33
- expect(pagamento.motivo_ocorrencia).to eql(['03'])
34
-
35
- # Dados que não consegui extrair dos registros T e U
36
- # pagamento.convenio.should eql('')
37
- # pagamento.tipo_cobranca.should eql('')
38
- # pagamento.tipo_cobranca_anterior.should eql('')
39
- # pagamento.natureza_recebimento.should eql('')
40
- # pagamento.carteira_variacao.should eql('7')
41
- # pagamento.iof.should eql('')
42
- # pagamento.comando.should eql('')
43
- # pagamento.data_liquidacao.should eql('')
44
- # pagamento.especie_documento.should eql('')
45
- # pagamento.valor_tarifa.should eql('')
46
- # pagamento.juros_desconto.should eql('')
47
- # pagamento.abatimento_nao_aproveitado.should eql('')
48
- # pagamento.valor_lancamento.should eql('')
49
- # pagamento.indicativo_lancamento.should eql('')
50
- # pagamento.indicador_valor.should eql('')
51
- # pagamento.valor_ajuste.should eql('')
52
- end
53
- end
@@ -1,29 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'spec_helper'
4
-
5
- RSpec.describe 'RGhost' do
6
- before do
7
- @valid_attributes = {
8
- valor: 0.0,
9
- cedente: 'Kivanio Barbosa',
10
- documento_cedente: '12345678912',
11
- sacado: 'Claudio Pozzebom',
12
- sacado_documento: '12345678900',
13
- agencia: '4042',
14
- conta_corrente: '61900',
15
- convenio: 12_387_989,
16
- nosso_numero: '777700168'
17
- }
18
- end
19
-
20
- it 'Testar se RGhost e GhostScript estão instalados' do
21
- # RGhost::Config.config_platform
22
- expect(File).to exist(RGhost::Config::GS[:path])
23
- expect(File).to be_executable(RGhost::Config::GS[:path])
24
- s = `#{RGhost::Config::GS[:path]} -v`
25
- expect(s).to match(/^GPL Ghostscript/)
26
- s = `#{RGhost::Config::GS[:path]} --version`
27
- expect(s).to match(/[8-9]\.[0-9]/)
28
- end
29
- end
@@ -1,35 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'spec_helper'
4
-
5
- RSpec.describe Brcobranca::Util::Empresa do
6
- context 'com zero' do
7
- it 'CPF returns 01' do
8
- ['179.461.278-55', '17946127855', 17_946_127_855].each do |documento|
9
- expect(described_class.new(documento, true).tipo).to eq('01')
10
- expect(described_class.new(documento).tipo).to eq('01')
11
- end
12
- end
13
-
14
- it 'CNPJ returns 02' do
15
- ['25.716.376/0001-28', '25716376000128', 25_716_376_000_128].each do |documento|
16
- expect(described_class.new(documento, true).tipo).to eq('02')
17
- expect(described_class.new(documento).tipo).to eq('02')
18
- end
19
- end
20
- end
21
-
22
- context 'sem zero' do
23
- it 'CPF returns 1' do
24
- ['179.461.278-55', '17946127855', 17_946_127_855].each do |documento|
25
- expect(described_class.new(documento, false).tipo).to eq('1')
26
- end
27
- end
28
-
29
- it 'CNPJ returns 2' do
30
- ['25.716.376/0001-28', '25716376000128', 25_716_376_000_128].each do |documento|
31
- expect(described_class.new(documento, false).tipo).to eq('2')
32
- end
33
- end
34
- end
35
- end
@@ -1,33 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'spec_helper'
4
-
5
- RSpec.describe 'Brcobranca' do
6
- describe 'gerador' do
7
- context 'rghost' do
8
- before { Brcobranca.configuration.gerador = :rghost }
9
-
10
- it { expect(Brcobranca.configuration.gerador).to be(:rghost) }
11
- end
12
-
13
- context 'prawn' do
14
- before { Brcobranca.configuration.gerador = :prawn }
15
-
16
- it { expect(Brcobranca.configuration.gerador).to be(:prawn) }
17
- end
18
- end
19
-
20
- describe 'formato' do
21
- context 'pdf' do
22
- before { Brcobranca.configuration.formato = :pdf }
23
-
24
- it { expect(Brcobranca.configuration.formato).to be(:pdf) }
25
- end
26
-
27
- context 'gif' do
28
- before { Brcobranca.configuration.formato = :gif }
29
-
30
- it { expect(Brcobranca.configuration.formato).to be(:gif) }
31
- end
32
- end
33
- end