brcobranca 10.0.0 → 10.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (82) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +47 -21
  3. data/README.md +5 -0
  4. data/lib/brcobranca/arquivos/templates/modelo_generico2.eps +9967 -0
  5. data/lib/brcobranca/boleto/banco_brasil.rb +5 -1
  6. data/lib/brcobranca/boleto/base.rb +2 -0
  7. data/lib/brcobranca/boleto/template/base.rb +4 -0
  8. data/lib/brcobranca/boleto/template/rghost2.rb +255 -0
  9. data/lib/brcobranca/boleto/template/rghost_bolepix.rb +279 -0
  10. data/lib/brcobranca/remessa/pagamento.rb +13 -11
  11. data/lib/brcobranca/retorno/cnab400/banco_brasil.rb +3 -0
  12. data/lib/brcobranca/retorno/cnab400/base.rb +1 -1
  13. data/lib/brcobranca/version.rb +1 -1
  14. data/lib/brcobranca.rb +2 -0
  15. metadata +8 -139
  16. data/spec/brcobranca/base_spec.rb +0 -179
  17. data/spec/brcobranca/boleto/ailos_spec.rb +0 -148
  18. data/spec/brcobranca/boleto/banco_brasil_spec.rb +0 -336
  19. data/spec/brcobranca/boleto/banco_brasilia_spec.rb +0 -153
  20. data/spec/brcobranca/boleto/banco_nordeste_spec.rb +0 -160
  21. data/spec/brcobranca/boleto/banestes_spec.rb +0 -193
  22. data/spec/brcobranca/boleto/banrisul_spec.rb +0 -180
  23. data/spec/brcobranca/boleto/bradesco_spec.rb +0 -214
  24. data/spec/brcobranca/boleto/caixa_spec.rb +0 -160
  25. data/spec/brcobranca/boleto/citibank_spec.rb +0 -195
  26. data/spec/brcobranca/boleto/credisis_spec.rb +0 -160
  27. data/spec/brcobranca/boleto/hsbc_spec.rb +0 -171
  28. data/spec/brcobranca/boleto/itau_spec.rb +0 -261
  29. data/spec/brcobranca/boleto/safra_spec.rb +0 -171
  30. data/spec/brcobranca/boleto/santander_spec.rb +0 -142
  31. data/spec/brcobranca/boleto/sicoob_spec.rb +0 -192
  32. data/spec/brcobranca/boleto/sicredi_spec.rb +0 -194
  33. data/spec/brcobranca/boleto/unicred_spec.rb +0 -139
  34. data/spec/brcobranca/boletos_em_lote_spec.rb +0 -38
  35. data/spec/brcobranca/calculo_data_spec.rb +0 -33
  36. data/spec/brcobranca/calculo_spec.rb +0 -187
  37. data/spec/brcobranca/currency_spec.rb +0 -79
  38. data/spec/brcobranca/formatacao_spec.rb +0 -46
  39. data/spec/brcobranca/formatacao_string_spec.rb +0 -31
  40. data/spec/brcobranca/limpeza_spec.rb +0 -10
  41. data/spec/brcobranca/remessa/base_spec.rb +0 -66
  42. data/spec/brcobranca/remessa/cnab240/ailos_spec.rb +0 -165
  43. data/spec/brcobranca/remessa/cnab240/banco_brasil_spec.rb +0 -222
  44. data/spec/brcobranca/remessa/cnab240/base_spec.rb +0 -114
  45. data/spec/brcobranca/remessa/cnab240/caixa_spec.rb +0 -165
  46. data/spec/brcobranca/remessa/cnab240/sicoob_banco_brasil_spec.rb +0 -272
  47. data/spec/brcobranca/remessa/cnab240/sicoob_spec.rb +0 -200
  48. data/spec/brcobranca/remessa/cnab240/sicredi_spec.rb +0 -203
  49. data/spec/brcobranca/remessa/cnab240/unicred_spec.rb +0 -195
  50. data/spec/brcobranca/remessa/cnab400/banco_brasil_spec.rb +0 -190
  51. data/spec/brcobranca/remessa/cnab400/banco_brasilia_spec.rb +0 -188
  52. data/spec/brcobranca/remessa/cnab400/banco_nordeste_spec.rb +0 -192
  53. data/spec/brcobranca/remessa/cnab400/banrisul_spec.rb +0 -192
  54. data/spec/brcobranca/remessa/cnab400/base_spec.rb +0 -68
  55. data/spec/brcobranca/remessa/cnab400/bradesco_spec.rb +0 -203
  56. data/spec/brcobranca/remessa/cnab400/citibank_spec.rb +0 -128
  57. data/spec/brcobranca/remessa/cnab400/credisis_spec.rb +0 -190
  58. data/spec/brcobranca/remessa/cnab400/itau_spec.rb +0 -192
  59. data/spec/brcobranca/remessa/cnab400/santander_spec.rb +0 -154
  60. data/spec/brcobranca/remessa/cnab400/sicoob_spec.rb +0 -217
  61. data/spec/brcobranca/remessa/cnab400/unicred_spec.rb +0 -186
  62. data/spec/brcobranca/remessa/pagamento_spec.rb +0 -228
  63. data/spec/brcobranca/retorno/cnab240/base_spec.rb +0 -24
  64. data/spec/brcobranca/retorno/cnab240/cecred_spec.rb +0 -52
  65. data/spec/brcobranca/retorno/cnab240/santander_spec.rb +0 -52
  66. data/spec/brcobranca/retorno/cnab240/sicoob_spec.rb +0 -52
  67. data/spec/brcobranca/retorno/cnab240/sicredi_spec.rb +0 -33
  68. data/spec/brcobranca/retorno/cnab400/banco_brasilia_spec.rb +0 -37
  69. data/spec/brcobranca/retorno/cnab400/banco_nordeste_spec.rb +0 -40
  70. data/spec/brcobranca/retorno/cnab400/banrisul_spec.rb +0 -42
  71. data/spec/brcobranca/retorno/cnab400/base_spec.rb +0 -57
  72. data/spec/brcobranca/retorno/cnab400/bradesco_spec.rb +0 -59
  73. data/spec/brcobranca/retorno/cnab400/credisis_spec.rb +0 -26
  74. data/spec/brcobranca/retorno/cnab400/itau_spec.rb +0 -60
  75. data/spec/brcobranca/retorno/cnab400/santander_spec.rb +0 -40
  76. data/spec/brcobranca/retorno/cnab400/unicred_spec.rb +0 -38
  77. data/spec/brcobranca/retorno/retorno_cbr643_spec.rb +0 -69
  78. data/spec/brcobranca/retorno/retorno_cnab400_spec.rb +0 -58
  79. data/spec/brcobranca/retorno/retorno_cnab_240_spec.rb +0 -53
  80. data/spec/brcobranca/rghost_spec.rb +0 -29
  81. data/spec/brcobranca/util/empresa_spec.rb +0 -35
  82. 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