brcobranca 6.9.1 → 7.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (110) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +3 -0
  3. data/CHANGELOG.md +4 -0
  4. data/Gemfile.lock +7 -7
  5. data/README.md +14 -12
  6. data/Rakefile +1 -0
  7. data/brcobranca.gemspec +1 -0
  8. data/lib/brcobranca/arquivos/logos/banrisul.eps +121 -0
  9. data/lib/brcobranca/arquivos/logos/banrisul_carne.eps +121 -0
  10. data/lib/brcobranca/boleto/banco_brasil.rb +8 -8
  11. data/lib/brcobranca/boleto/banco_nordeste.rb +1 -0
  12. data/lib/brcobranca/boleto/banestes.rb +10 -10
  13. data/lib/brcobranca/boleto/banrisul.rb +84 -0
  14. data/lib/brcobranca/boleto/base.rb +6 -5
  15. data/lib/brcobranca/boleto/bradesco.rb +2 -1
  16. data/lib/brcobranca/boleto/caixa.rb +6 -5
  17. data/lib/brcobranca/boleto/hsbc.rb +7 -6
  18. data/lib/brcobranca/boleto/itau.rb +1 -0
  19. data/lib/brcobranca/boleto/santander.rb +1 -0
  20. data/lib/brcobranca/boleto/sicoob.rb +12 -11
  21. data/lib/brcobranca/boleto/sicredi.rb +1 -0
  22. data/lib/brcobranca/boleto/template/base.rb +5 -4
  23. data/lib/brcobranca/boleto/template/rghost.rb +7 -6
  24. data/lib/brcobranca/boleto/template/rghost_carne.rb +9 -9
  25. data/lib/brcobranca/boleto/unicred.rb +1 -1
  26. data/lib/brcobranca/calculo.rb +14 -15
  27. data/lib/brcobranca/calculo_data.rb +2 -0
  28. data/lib/brcobranca/currency.rb +4 -3
  29. data/lib/brcobranca/formatacao.rb +2 -1
  30. data/lib/brcobranca/formatacao_string.rb +1 -0
  31. data/lib/brcobranca/limpeza.rb +1 -0
  32. data/lib/brcobranca/remessa/base.rb +2 -1
  33. data/lib/brcobranca/remessa/cnab240/banco_brasil.rb +7 -6
  34. data/lib/brcobranca/remessa/cnab240/base.rb +16 -15
  35. data/lib/brcobranca/remessa/cnab240/caixa.rb +1 -0
  36. data/lib/brcobranca/remessa/cnab240/sicoob.rb +9 -9
  37. data/lib/brcobranca/remessa/cnab400/banco_brasil.rb +2 -3
  38. data/lib/brcobranca/remessa/cnab400/base.rb +8 -7
  39. data/lib/brcobranca/remessa/cnab400/bradesco.rb +2 -1
  40. data/lib/brcobranca/remessa/cnab400/citibank.rb +3 -2
  41. data/lib/brcobranca/remessa/cnab400/itau.rb +2 -1
  42. data/lib/brcobranca/remessa/cnab400/santander.rb +7 -5
  43. data/lib/brcobranca/remessa/cnab400/sicoob.rb +6 -5
  44. data/lib/brcobranca/remessa/pagamento.rb +4 -4
  45. data/lib/brcobranca/retorno/base.rb +1 -0
  46. data/lib/brcobranca/retorno/cnab240/base.rb +6 -7
  47. data/lib/brcobranca/retorno/cnab240/caixa.rb +1 -0
  48. data/lib/brcobranca/retorno/cnab240/santander.rb +3 -3
  49. data/lib/brcobranca/retorno/cnab240/sicoob.rb +7 -6
  50. data/lib/brcobranca/retorno/cnab400/base.rb +5 -6
  51. data/lib/brcobranca/retorno/cnab400/bradesco.rb +1 -0
  52. data/lib/brcobranca/retorno/cnab400/itau.rb +1 -0
  53. data/lib/brcobranca/retorno/retorno_cbr643.rb +1 -0
  54. data/lib/brcobranca/retorno/retorno_cnab240.rb +3 -2
  55. data/lib/brcobranca/retorno/retorno_cnab400.rb +1 -0
  56. data/lib/brcobranca/util/empresa.rb +2 -3
  57. data/lib/brcobranca/version.rb +2 -1
  58. data/lib/brcobranca.rb +3 -1
  59. data/spec/brcobranca/base_spec.rb +51 -50
  60. data/spec/brcobranca/boleto/banco_brasil_spec.rb +46 -45
  61. data/spec/brcobranca/boleto/banco_nordeste_spec.rb +13 -12
  62. data/spec/brcobranca/boleto/banestes_spec.rb +108 -105
  63. data/spec/brcobranca/boleto/banrisul_spec.rb +165 -0
  64. data/spec/brcobranca/boleto/bradesco_spec.rb +56 -52
  65. data/spec/brcobranca/boleto/caixa_spec.rb +9 -7
  66. data/spec/brcobranca/boleto/hsbc_spec.rb +17 -15
  67. data/spec/brcobranca/boleto/itau_spec.rb +22 -20
  68. data/spec/brcobranca/boleto/santander_spec.rb +16 -14
  69. data/spec/brcobranca/boleto/sicoob_spec.rb +94 -94
  70. data/spec/brcobranca/boleto/sicredi_spec.rb +32 -28
  71. data/spec/brcobranca/boleto/unicred_spec.rb +16 -14
  72. data/spec/brcobranca/boletos_em_lote_spec.rb +4 -3
  73. data/spec/brcobranca/calculo_data_spec.rb +2 -1
  74. data/spec/brcobranca/calculo_spec.rb +97 -97
  75. data/spec/brcobranca/currency_spec.rb +6 -5
  76. data/spec/brcobranca/formatacao_spec.rb +1 -0
  77. data/spec/brcobranca/formatacao_string_spec.rb +1 -2
  78. data/spec/brcobranca/limpeza_spec.rb +1 -0
  79. data/spec/brcobranca/remessa/base_spec.rb +11 -9
  80. data/spec/brcobranca/remessa/cnab240/banco_brasil_spec.rb +11 -9
  81. data/spec/brcobranca/remessa/cnab240/base_spec.rb +11 -9
  82. data/spec/brcobranca/remessa/cnab240/caixa_spec.rb +12 -10
  83. data/spec/brcobranca/remessa/cnab240/sicoob_spec.rb +13 -11
  84. data/spec/brcobranca/remessa/cnab400/banco_brasil_spec.rb +2 -1
  85. data/spec/brcobranca/remessa/cnab400/base_spec.rb +20 -18
  86. data/spec/brcobranca/remessa/cnab400/bradesco_spec.rb +11 -9
  87. data/spec/brcobranca/remessa/cnab400/citibank_spec.rb +11 -9
  88. data/spec/brcobranca/remessa/cnab400/itau_spec.rb +11 -9
  89. data/spec/brcobranca/remessa/cnab400/santander_spec.rb +12 -10
  90. data/spec/brcobranca/remessa/cnab400/sicoob_spec.rb +11 -9
  91. data/spec/brcobranca/remessa/pagamento_spec.rb +12 -10
  92. data/spec/brcobranca/retorno/cnab240/base_spec.rb +10 -9
  93. data/spec/brcobranca/retorno/cnab240/santander_spec.rb +23 -22
  94. data/spec/brcobranca/retorno/cnab240/sicoob_spec.rb +21 -20
  95. data/spec/brcobranca/retorno/cnab400/base_spec.rb +13 -12
  96. data/spec/brcobranca/retorno/cnab400/bradesco_spec.rb +3 -1
  97. data/spec/brcobranca/retorno/cnab400/itau_spec.rb +4 -1
  98. data/spec/brcobranca/retorno/retorno_cbr643_spec.rb +1 -0
  99. data/spec/brcobranca/retorno/retorno_cnab400_spec.rb +1 -0
  100. data/spec/brcobranca/retorno/retorno_cnab_240_spec.rb +1 -0
  101. data/spec/brcobranca/rghost_spec.rb +1 -0
  102. data/spec/brcobranca/util/empresa_spec.rb +13 -12
  103. data/spec/brcobranca_spec.rb +6 -5
  104. data/spec/spec_helper.rb +3 -3
  105. data/spec/support/remessa_helpers.rb +3 -1
  106. data/spec/support/shared_examples/busca_logotipo.rb +2 -0
  107. data/spec/support/shared_examples/cnab240.rb +22 -20
  108. data/spec/support/shared_examples/cnab400.rb +12 -12
  109. data/spec/support/shared_examples/formatos_validos.rb +6 -4
  110. metadata +7 -2
@@ -1,4 +1,5 @@
1
1
  # -*- encoding: utf-8 -*-
2
+ #
2
3
  module Brcobranca
3
4
  module Remessa
4
5
  module Cnab240
@@ -41,8 +42,8 @@ module Brcobranca
41
42
 
42
43
  def initialize(campos = {})
43
44
  campos = { codigo_carteira: '1',
44
- forma_cadastramento: '1',
45
- tipo_documento: ' ' }.merge!(campos)
45
+ forma_cadastramento: '1',
46
+ tipo_documento: ' ' }.merge!(campos)
46
47
  super(campos)
47
48
  end
48
49
 
@@ -270,19 +271,19 @@ module Brcobranca
270
271
  #
271
272
  def monta_lote(nro_lote)
272
273
  # contador dos registros do lote
273
- contador = 1 #header
274
+ contador = 1 # header
274
275
 
275
276
  lote = [monta_header_lote(nro_lote)]
276
277
 
277
278
  pagamentos.each do |pagamento|
278
- fail Brcobranca::RemessaInvalida.new(pagamento) if pagamento.invalid?
279
+ raise Brcobranca::RemessaInvalida, pagamento if pagamento.invalid?
279
280
 
280
281
  lote << monta_segmento_p(pagamento, nro_lote, contador)
281
282
  contador += 1
282
283
  lote << monta_segmento_q(pagamento, nro_lote, contador)
283
284
  contador += 1
284
285
  end
285
- contador += 1 #trailer
286
+ contador += 1 # trailer
286
287
 
287
288
  lote << monta_trailer_lote(nro_lote, contador)
288
289
 
@@ -294,7 +295,7 @@ module Brcobranca
294
295
  # @return [String]
295
296
  #
296
297
  def gera_arquivo
297
- fail Brcobranca::RemessaInvalida.new(self) if self.invalid?
298
+ raise Brcobranca::RemessaInvalida, self if invalid?
298
299
 
299
300
  arquivo = [monta_header_arquivo]
300
301
 
@@ -306,7 +307,7 @@ module Brcobranca
306
307
 
307
308
  remittance = arquivo.join("\n").to_ascii.upcase
308
309
  remittance << "\n"
309
- remittance.encode(remittance.encoding, :universal_newline => true).encode(remittance.encoding, :crlf_newline => true)
310
+ remittance.encode(remittance.encoding, universal_newline: true).encode(remittance.encoding, crlf_newline: true)
310
311
  end
311
312
 
312
313
  # Complemento do registro
@@ -314,7 +315,7 @@ module Brcobranca
314
315
  # Este metodo deve ser sobrescrevido na classe do banco
315
316
  #
316
317
  def complemento_header
317
- fail Brcobranca::NaoImplementado.new('Sobreescreva este método na classe referente ao banco que você esta criando')
318
+ raise Brcobranca::NaoImplementado, 'Sobreescreva este método na classe referente ao banco que você esta criando'
318
319
  end
319
320
 
320
321
  # Numero da versao do layout do arquivo
@@ -322,7 +323,7 @@ module Brcobranca
322
323
  # Este metodo deve ser sobrescrevido na classe do banco
323
324
  #
324
325
  def versao_layout_arquivo
325
- fail Brcobranca::NaoImplementado.new('Sobreescreva este método na classe referente ao banco que você esta criando')
326
+ raise Brcobranca::NaoImplementado, 'Sobreescreva este método na classe referente ao banco que você esta criando'
326
327
  end
327
328
 
328
329
  # Numero da versao do layout do lote
@@ -330,7 +331,7 @@ module Brcobranca
330
331
  # Este metodo deve ser sobrescrevido na classe do banco
331
332
  #
332
333
  def versao_layout_lote
333
- fail Brcobranca::NaoImplementado.new('Sobreescreva este método na classe referente ao banco que você esta criando')
334
+ raise Brcobranca::NaoImplementado, 'Sobreescreva este método na classe referente ao banco que você esta criando'
334
335
  end
335
336
 
336
337
  # Informacoes do convenio para o lote
@@ -338,7 +339,7 @@ module Brcobranca
338
339
  # Este metodo deve ser sobrescrevido na classe do banco
339
340
  #
340
341
  def convenio_lote
341
- fail Brcobranca::NaoImplementado.new('Sobreescreva este método na classe referente ao banco que você esta criando')
342
+ raise Brcobranca::NaoImplementado, 'Sobreescreva este método na classe referente ao banco que você esta criando'
342
343
  end
343
344
 
344
345
  # Nome do banco
@@ -346,7 +347,7 @@ module Brcobranca
346
347
  # Este metodo deve ser sobrescrevido na classe do banco
347
348
  #
348
349
  def nome_banco
349
- fail Brcobranca::NaoImplementado.new('Sobreescreva este método na classe referente ao banco que você esta criando')
350
+ raise Brcobranca::NaoImplementado, 'Sobreescreva este método na classe referente ao banco que você esta criando'
350
351
  end
351
352
 
352
353
  # Codigo do banco
@@ -354,7 +355,7 @@ module Brcobranca
354
355
  # Este metodo deve ser sobrescrevido na classe do banco
355
356
  #
356
357
  def cod_banco
357
- fail Brcobranca::NaoImplementado.new('Sobreescreva este método na classe referente ao banco que você esta criando')
358
+ raise Brcobranca::NaoImplementado, 'Sobreescreva este método na classe referente ao banco que você esta criando'
358
359
  end
359
360
 
360
361
  # Informacoes da conta do cedente
@@ -362,7 +363,7 @@ module Brcobranca
362
363
  # Este metodo deve ser sobrescrevido na classe do banco
363
364
  #
364
365
  def info_conta
365
- fail Brcobranca::NaoImplementado.new('Sobreescreva este método na classe referente ao banco que você esta criando')
366
+ raise Brcobranca::NaoImplementado, 'Sobreescreva este método na classe referente ao banco que você esta criando'
366
367
  end
367
368
 
368
369
  # Codigo do convenio
@@ -370,7 +371,7 @@ module Brcobranca
370
371
  # Este metodo deve ser sobrescrevido na classe do banco
371
372
  #
372
373
  def codigo_convenio
373
- fail Brcobranca::NaoImplementado.new('Sobreescreva este método na classe referente ao banco que você esta criando')
374
+ raise Brcobranca::NaoImplementado, 'Sobreescreva este método na classe referente ao banco que você esta criando'
374
375
  end
375
376
  end
376
377
  end
@@ -1,4 +1,5 @@
1
1
  # -*- encoding: utf-8 -*-
2
+ #
2
3
  module Brcobranca
3
4
  module Remessa
4
5
  module Cnab240
@@ -1,9 +1,9 @@
1
1
  # -*- encoding: utf-8 -*-
2
+ #
2
3
  module Brcobranca
3
4
  module Remessa
4
5
  module Cnab240
5
6
  class Sicoob < Brcobranca::Remessa::Cnab240::Base
6
-
7
7
  attr_accessor :modalidade_carteira
8
8
  # identificacao da emissao do boleto (attr na classe base)
9
9
  # opcoes:
@@ -31,10 +31,10 @@ module Brcobranca
31
31
 
32
32
  def initialize(campos = {})
33
33
  campos = { emissao_boleto: '2',
34
- distribuicao_boleto: '2',
35
- tipo_formulario: '4',
36
- modalidade_carteira: '01',
37
- forma_cadastramento: '0' }.merge!(campos)
34
+ distribuicao_boleto: '2',
35
+ tipo_formulario: '4',
36
+ modalidade_carteira: '01',
37
+ forma_cadastramento: '0' }.merge!(campos)
38
38
  super(campos)
39
39
  end
40
40
 
@@ -72,7 +72,7 @@ module Brcobranca
72
72
  ''.rjust(20, ' ')
73
73
  end
74
74
 
75
- alias_method :convenio_lote, :codigo_convenio
75
+ alias convenio_lote codigo_convenio
76
76
 
77
77
  def info_conta
78
78
  # CAMPO TAMANHO
@@ -169,9 +169,9 @@ module Brcobranca
169
169
  trailer_lote << ''.rjust(9, ' ')
170
170
  # qtde de registros lote 6
171
171
  trailer_lote << nro_registros.to_s.rjust(6, '0')
172
-
172
+
173
173
  # qtde de Títulos em Cobrança Simples 6
174
- trailer_lote << pagamentos.count.to_s.rjust(6, '0')
174
+ trailer_lote << pagamentos.count.to_s.rjust(6, '0')
175
175
  # Valor Total dos Títulos em Carteiras Simples 15 2
176
176
  trailer_lote << valor_total_titulos(17)
177
177
  # qtde de Títulos em Cobrança Vinculada 6
@@ -188,7 +188,7 @@ module Brcobranca
188
188
  trailer_lote << ''.rjust(17, '0')
189
189
  # Número do Aviso de Lançamento 8
190
190
  trailer_lote << ''.rjust(8, ' ')
191
-
191
+
192
192
  # uso exclusivo 117
193
193
  trailer_lote << complemento_trailer
194
194
  trailer_lote
@@ -1,9 +1,9 @@
1
1
  # -*- encoding: utf-8 -*-
2
+ #
2
3
  module Brcobranca
3
4
  module Remessa
4
5
  module Cnab400
5
6
  class BancoBrasil < Brcobranca::Remessa::Cnab400::Base
6
-
7
7
  #
8
8
  # Documentacao para a geracao do arquivo pode ser encontrada em:
9
9
  # http://www.bb.com.br/docs/pub/emp/empl/dwn/Doc2627CBR641Pos7.pdf
@@ -95,7 +95,7 @@ module Brcobranca
95
95
  end
96
96
 
97
97
  def monta_detalhe(pagamento, sequencial)
98
- fail Brcobranca::RemessaInvalida.new(pagamento) if pagamento.invalid?
98
+ raise Brcobranca::RemessaInvalida, pagamento if pagamento.invalid?
99
99
 
100
100
  detalhe = '7' # identificacao do registro 9[1] 001 a 001
101
101
  detalhe << Brcobranca::Util::Empresa.new(documento_cedente).tipo # tipo de identificacao da empresa 9[02] 002 a 003
@@ -149,7 +149,6 @@ module Brcobranca
149
149
  detalhe << ' ' # complemento (brancos) X[01] 394 a 394
150
150
  detalhe << sequencial.to_s.rjust(6, '0') # sequencial do registro 9[06] 395 a 400
151
151
  end
152
-
153
152
  end
154
153
  end
155
154
  end
@@ -1,4 +1,5 @@
1
1
  # -*- encoding: utf-8 -*-
2
+ #
2
3
  module Brcobranca
3
4
  module Remessa
4
5
  module Cnab400
@@ -57,14 +58,14 @@ module Brcobranca
57
58
  # Este metodo deve ser sobrescrevido na classe do banco
58
59
  #
59
60
  def monta_detalhe(_pagamento, _sequencial)
60
- fail Brcobranca::NaoImplementado.new('Sobreescreva este método na classe referente ao banco que você esta criando')
61
+ raise Brcobranca::NaoImplementado, 'Sobreescreva este método na classe referente ao banco que você esta criando'
61
62
  end
62
63
 
63
64
  # Gera o arquivo com os registros
64
65
  #
65
66
  # @return [String]
66
67
  def gera_arquivo
67
- fail Brcobranca::RemessaInvalida.new(self) unless self.valid?
68
+ raise Brcobranca::RemessaInvalida, self unless valid?
68
69
 
69
70
  # contador de registros no arquivo
70
71
  contador = 1
@@ -78,7 +79,7 @@ module Brcobranca
78
79
  remittance = ret.join("\n").to_ascii.upcase
79
80
  remittance << "\n"
80
81
 
81
- remittance.encode(remittance.encoding, :universal_newline => true).encode(remittance.encoding, :crlf_newline => true)
82
+ remittance.encode(remittance.encoding, universal_newline: true).encode(remittance.encoding, crlf_newline: true)
82
83
  end
83
84
 
84
85
  # Informacoes referentes a conta do cedente
@@ -86,7 +87,7 @@ module Brcobranca
86
87
  # Este metodo deve ser sobrescrevido na classe do banco
87
88
  #
88
89
  def info_conta
89
- fail Brcobranca::NaoImplementado.new('Sobreescreva este método na classe referente ao banco que você esta criando')
90
+ raise Brcobranca::NaoImplementado, 'Sobreescreva este método na classe referente ao banco que você esta criando'
90
91
  end
91
92
 
92
93
  # Numero do banco na camara de compensacao
@@ -94,7 +95,7 @@ module Brcobranca
94
95
  # Este metodo deve ser sobrescrevido na classe do banco
95
96
  #
96
97
  def cod_banco
97
- fail Brcobranca::NaoImplementado.new('Sobreescreva este método na classe referente ao banco que você esta criando')
98
+ raise Brcobranca::NaoImplementado, 'Sobreescreva este método na classe referente ao banco que você esta criando'
98
99
  end
99
100
 
100
101
  # Nome por extenso do banco cobrador
@@ -102,7 +103,7 @@ module Brcobranca
102
103
  # Este metodo deve ser sobrescrevido na classe do banco
103
104
  #
104
105
  def nome_banco
105
- fail Brcobranca::NaoImplementado.new('Sobreescreva este método na classe referente ao banco que você esta criando')
106
+ raise Brcobranca::NaoImplementado, 'Sobreescreva este método na classe referente ao banco que você esta criando'
106
107
  end
107
108
 
108
109
  # Complemento do registro header
@@ -110,7 +111,7 @@ module Brcobranca
110
111
  # Este metodo deve ser sobrescrevido na classe do banco
111
112
  #
112
113
  def complemento
113
- fail Brcobranca::NaoImplementado.new('Sobreescreva este método na classe referente ao banco que você esta criando')
114
+ raise Brcobranca::NaoImplementado, 'Sobreescreva este método na classe referente ao banco que você esta criando'
114
115
  end
115
116
  end
116
117
  end
@@ -1,4 +1,5 @@
1
1
  # -*- encoding: utf-8 -*-
2
+ #
2
3
  module Brcobranca
3
4
  module Remessa
4
5
  module Cnab400
@@ -75,7 +76,7 @@ module Brcobranca
75
76
  end
76
77
 
77
78
  def monta_detalhe(pagamento, sequencial)
78
- fail Brcobranca::RemessaInvalida.new(pagamento) if pagamento.invalid?
79
+ raise Brcobranca::RemessaInvalida, pagamento if pagamento.invalid?
79
80
 
80
81
  detalhe = '1' # identificacao do registro 9[01] 001 a 001
81
82
  detalhe << ''.rjust(5, '0') # agencia de debito (op) 9[05] 002 a 006
@@ -1,4 +1,5 @@
1
1
  # -*- encoding: utf-8 -*-
2
+ #
2
3
  module Brcobranca
3
4
  module Remessa
4
5
  module Cnab400
@@ -58,7 +59,7 @@ module Brcobranca
58
59
  # @return [String]
59
60
  #
60
61
  def monta_detalhe(pagamento, sequencial)
61
- fail Brcobranca::RemessaInvalida.new(pagamento) if pagamento.invalid?
62
+ raise Brcobranca::RemessaInvalida, pagamento if pagamento.invalid?
62
63
 
63
64
  detalhe = '1' # identificacao transacao 9[01]
64
65
  detalhe << Brcobranca::Util::Empresa.new(documento_cedente).tipo # tipo de identificacao da empresa 9[02]
@@ -101,7 +102,7 @@ module Brcobranca
101
102
  # IMPORTANTE: essa instrução somente poderá ser utilizada após assinatura de contrato específico para o produto.
102
103
  # 09 = DEVOLVER: esta é a instrução de BAIXA quando esta instrução for dada também deverá ser preenchida a posição 159/160
103
104
  # 10 = SUSTAR PROTESTO: instrução utilizada para títulos que NÃO estejam em cartório
104
- detalhe << '00' # Instrução para o título 9[02]
105
+ detalhe << '00' # Instrução para o título 9[02]
105
106
 
106
107
  # Quando posição 157/158 (Instrução para título) conter instrução 06 ou 09,
107
108
  # este campo deverá conter a quantidade de dias válidos para execução da instrução.
@@ -1,4 +1,5 @@
1
1
  # -*- encoding: utf-8 -*-
2
+ #
2
3
  module Brcobranca
3
4
  module Remessa
4
5
  module Cnab400
@@ -83,7 +84,7 @@ module Brcobranca
83
84
  # @return [String]
84
85
  #
85
86
  def monta_detalhe(pagamento, sequencial)
86
- fail Brcobranca::RemessaInvalida.new(pagamento) if pagamento.invalid?
87
+ raise Brcobranca::RemessaInvalida, pagamento if pagamento.invalid?
87
88
 
88
89
  detalhe = '1' # identificacao transacao 9[01]
89
90
  detalhe << Brcobranca::Util::Empresa.new(documento_cedente).tipo # tipo de identificacao da empresa 9[02]
@@ -1,4 +1,5 @@
1
1
  # -*- encoding: utf-8 -*-
2
+ #
2
3
  module Brcobranca
3
4
  module Remessa
4
5
  module Cnab400
@@ -15,7 +16,7 @@ module Brcobranca
15
16
  validates_length_of :codigo_transmissao, maximum: 20, message: 'deve ter no máximo 20 dígitos.'
16
17
 
17
18
  def initialize(campos = {})
18
- campos = { aceite: 'N', carteira: '101', codigo_carteira: '5'}.merge!(campos)
19
+ campos = { aceite: 'N', carteira: '101', codigo_carteira: '5' }.merge!(campos)
19
20
  super(campos)
20
21
  end
21
22
 
@@ -86,7 +87,7 @@ module Brcobranca
86
87
  # @return [String]
87
88
  #
88
89
  def monta_detalhe(pagamento, sequencial)
89
- fail Brcobranca::RemessaInvalida.new(pagamento) if pagamento.invalid?
90
+ raise Brcobranca::RemessaInvalida, pagamento if pagamento.invalid?
90
91
 
91
92
  detalhe = '1' # identificacao transacao 9[01]
92
93
  detalhe << Brcobranca::Util::Empresa.new(documento_cedente).tipo # tipo de identificacao da empresa 9[02]
@@ -110,7 +111,7 @@ module Brcobranca
110
111
  # 5 = RÁPIDA COM REGISTRO
111
112
  # (BLOQUETE EMITIDO PELO CLIENTE) 6 = CAUCIONADA RAPIDA
112
113
  # 7 = DESCONTADA ELETRÔNICA
113
- detalhe << codigo_carteira # codigo da carteira 9[01]
114
+ detalhe << codigo_carteira # codigo da carteira 9[01]
114
115
 
115
116
  # Código da ocorrência:
116
117
  # 01 = ENTRADA DE TÍTULO
@@ -130,7 +131,7 @@ module Brcobranca
130
131
  # Código da agência cobradora do Banco Santander,
131
132
  # opcional informar somente se carteira for igual a 5,
132
133
  # caso contrário, informar zeros.
133
- detalhe << agencia.rjust(5, '0') # agencia cobradora.............. 9[05]
134
+ detalhe << agencia.rjust(5, '0') # agencia cobradora.............. 9[05]
134
135
 
135
136
  # Espécie de documento:
136
137
  # 01 = DUPLICATA
@@ -161,7 +162,7 @@ module Brcobranca
161
162
  detalhe << pagamento.identificacao_sacado.rjust(2, '0') # identificacao do pagador 9[02]
162
163
  detalhe << pagamento.documento_sacado.to_s.rjust(14, '0') # documento do pagador 9[14]
163
164
  detalhe << pagamento.nome_sacado.format_size(40).ljust(40, ' ') # nome do pagador X[40]
164
- detalhe << pagamento.endereco_sacado.format_size(40).ljust(40, ' ')# endereco do pagador X[40]
165
+ detalhe << pagamento.endereco_sacado.format_size(40).ljust(40, ' ') # endereco do pagador X[40]
165
166
  detalhe << pagamento.bairro_sacado.format_size(12).ljust(12, ' ') # bairro do pagador X[12]
166
167
  detalhe << pagamento.cep_sacado # cep do pagador 9[08]
167
168
  detalhe << pagamento.cidade_sacado.format_size(15) # cidade do pagador X[15]
@@ -198,6 +199,7 @@ module Brcobranca
198
199
  end
199
200
 
200
201
  private
202
+
201
203
  # Complemento de remessa
202
204
  #
203
205
  # @return [String]
@@ -1,4 +1,5 @@
1
1
  # -*- encoding: utf-8 -*-
2
+ #
2
3
  module Brcobranca
3
4
  module Remessa
4
5
  module Cnab400
@@ -127,7 +128,7 @@ module Brcobranca
127
128
  # @return [String]
128
129
  #
129
130
  def monta_detalhe(pagamento, sequencial)
130
- fail Brcobranca::RemessaInvalida.new(pagamento) if pagamento.invalid?
131
+ raise Brcobranca::RemessaInvalida, pagamento if pagamento.invalid?
131
132
 
132
133
  detalhe = '1' # identificacao transacao 9[01]
133
134
  detalhe << Brcobranca::Util::Empresa.new(documento_cedente).tipo # tipo de identificacao da empresa 9[02]
@@ -162,13 +163,13 @@ module Brcobranca
162
163
  # "Tipo de Emissão:
163
164
  # 1 - Cooperativa
164
165
  # 2 - Cliente"
165
- detalhe << modalidade_carteira # Tipo de Emissão 9[01]
166
+ detalhe << modalidade_carteira # Tipo de Emissão 9[01]
166
167
 
167
168
  # "Carteira/Modalidade:
168
169
  # 01 = Simples Com Registro
169
170
  # 02 = Simples Sem Registro
170
171
  # 03 = Garantida Caucionada "
171
- detalhe << carteira # codigo da carteira 9[02]
172
+ detalhe << carteira # codigo da carteira 9[02]
172
173
 
173
174
  # "Comando/Movimento:
174
175
  # 01 = Registro de Títulos
@@ -248,7 +249,7 @@ module Brcobranca
248
249
  detalhe << pagamento.identificacao_sacado.rjust(2, '0') # identificacao do pagador 9[02]
249
250
  detalhe << pagamento.documento_sacado.to_s.rjust(14, '0') # documento do pagador 9[14]
250
251
  detalhe << pagamento.nome_sacado.format_size(40).ljust(40, ' ') # nome do pagador X[40]
251
- detalhe << pagamento.endereco_sacado.format_size(37).ljust(37, ' ')# endereco do pagador X[37]
252
+ detalhe << pagamento.endereco_sacado.format_size(37).ljust(37, ' ') # endereco do pagador X[37]
252
253
  detalhe << pagamento.bairro_sacado.format_size(15).ljust(15, ' ') # bairro do pagador X[15]
253
254
  detalhe << pagamento.cep_sacado # cep do pagador 9[08]
254
255
  detalhe << pagamento.cidade_sacado.format_size(15) # cidade do pagador X[15]
@@ -260,7 +261,7 @@ module Brcobranca
260
261
  # no Recibo do Sacado e na Ficha de Compensação do boleto de cobrança.
261
262
  # Quando o SEQ 14 – Indicativo de Mensagem ou Sacador/Avalista - for preenchido com “A” ,
262
263
  # este campo deverá ser preenchido com o nome/razão social do Sacador/Avalista"
263
- detalhe << ''.rjust(40, ' ') # X[40]
264
+ detalhe << ''.rjust(40, ' ') # X[40]
264
265
 
265
266
  # "Número de Dias Para Protesto:
266
267
  # Quantidade dias para envio protesto. Se = ""0"",
@@ -1,4 +1,5 @@
1
1
  # -*- encoding: utf-8 -*-
2
+ #
2
3
  module Brcobranca
3
4
  module Remessa
4
5
  class Pagamento
@@ -73,8 +74,8 @@ module Brcobranca
73
74
  attr_accessor :dias_protesto
74
75
 
75
76
  validates_presence_of :nosso_numero, :data_vencimento, :valor,
76
- :documento_sacado, :nome_sacado, :endereco_sacado,
77
- :cep_sacado, :cidade_sacado, :uf_sacado, message: 'não pode estar em branco.'
77
+ :documento_sacado, :nome_sacado, :endereco_sacado,
78
+ :cep_sacado, :cidade_sacado, :uf_sacado, message: 'não pode estar em branco.'
78
79
  validates_length_of :uf_sacado, is: 2, message: 'deve ter 2 dígitos.'
79
80
  validates_length_of :cep_sacado, is: 8, message: 'deve ter 8 dígitos.'
80
81
  validates_length_of :cod_desconto, is: 1, message: 'deve ter 1 dígito.'
@@ -181,7 +182,6 @@ module Brcobranca
181
182
  format_value(percentual_multa, tamanho)
182
183
  end
183
184
 
184
-
185
185
  # Formata o campo valor do desconto
186
186
  #
187
187
  # @param tamanho [Integer]
@@ -238,7 +238,7 @@ module Brcobranca
238
238
  private
239
239
 
240
240
  def format_value(value, tamanho)
241
- raise ValorInvalido.new('Deve ser um Float') if !(value.to_s =~ /\./)
241
+ raise ValorInvalido, 'Deve ser um Float' unless value.to_s =~ /\./
242
242
 
243
243
  sprintf('%.2f', value).delete('.').rjust(tamanho, '0')
244
244
  end
@@ -1,4 +1,5 @@
1
1
  # encoding: utf-8
2
+ #
2
3
 
3
4
  module Brcobranca
4
5
  module Retorno
@@ -1,23 +1,23 @@
1
1
  # -*- encoding: utf-8 -*-
2
+ #
2
3
  require 'parseline'
3
4
 
4
5
  module Brcobranca
5
6
  module Retorno
6
7
  module Cnab240
7
8
  class Base < Brcobranca::Retorno::Base
8
-
9
9
  # Load lines
10
- def self.load_lines(file, options={})
10
+ def self.load_lines(file, options = {})
11
11
  return nil if file.blank?
12
12
 
13
13
  codigo_banco = codigo_banco_do_arquivo(file)
14
14
 
15
15
  case codigo_banco
16
- when "756"
16
+ when '756'
17
17
  Brcobranca::Retorno::Cnab240::Sicoob.load_lines(file, options)
18
- when "104"
18
+ when '104'
19
19
  Brcobranca::Retorno::Cnab240::Caixa.load_lines(file, options)
20
- when "033"
20
+ when '033'
21
21
  Brcobranca::Retorno::Cnab240::Santander.load_lines(file, options)
22
22
  else
23
23
  Brcobranca::Retorno::RetornoCnab240.load_lines(file, options)
@@ -27,13 +27,12 @@ module Brcobranca
27
27
  # Codigo do banco lido do arquivo.
28
28
  # Registro Header [0..2]
29
29
  def self.codigo_banco_do_arquivo(file)
30
- arquivo = File.open(file, "r")
30
+ arquivo = File.open(file, 'r')
31
31
  header = arquivo.gets
32
32
  codigo_banco = header.blank? ? nil : header[0..2]
33
33
  arquivo.close
34
34
  codigo_banco
35
35
  end
36
-
37
36
  end
38
37
  end
39
38
  end
@@ -1,4 +1,5 @@
1
1
  # -*- encoding: utf-8 -*-
2
+ #
2
3
 
3
4
  module Brcobranca
4
5
  module Retorno
@@ -1,4 +1,5 @@
1
1
  # -*- encoding: utf-8 -*-
2
+ #
2
3
 
3
4
  module Brcobranca
4
5
  module Retorno
@@ -37,12 +38,11 @@ module Brcobranca
37
38
  class Line < Base
38
39
  extend ParseLine::FixedWidth # Extendendo parseline
39
40
 
40
- REGISTRO_T_FIELDS = %w(agencia_com_dv cedente_com_dv nosso_numero nosso_numero_com_dv carteira data_vencimento valor_titulo banco_recebedor agencia_recebedora_com_dv sequencial valor_tarifa)
41
- REGISTRO_U_FIELDS = %w(desconto_concedito valor_abatimento iof_desconto juros_mora valor_recebido outras_despesas outros_recebimento data_credito data_ocorrencia)
41
+ REGISTRO_T_FIELDS = %w(agencia_com_dv cedente_com_dv nosso_numero nosso_numero_com_dv carteira data_vencimento valor_titulo banco_recebedor agencia_recebedora_com_dv sequencial valor_tarifa).freeze
42
+ REGISTRO_U_FIELDS = %w(desconto_concedito valor_abatimento iof_desconto juros_mora valor_recebido outras_despesas outros_recebimento data_credito data_ocorrencia).freeze
42
43
 
43
44
  attr_accessor :tipo_registro
44
45
 
45
-
46
46
  fixed_width_layout do |parse|
47
47
  parse.field :tipo_registro, 13..13
48
48
  parse.field :sequencial, 8..12
@@ -1,6 +1,7 @@
1
1
  # -*- encoding: utf-8 -*-
2
+ #
2
3
 
3
- require "parseline"
4
+ require 'parseline'
4
5
 
5
6
  module Brcobranca
6
7
  module Retorno
@@ -21,13 +22,13 @@ module Brcobranca
21
22
  def self.generate_retorno_based_on_cnab_lines(cnab_lines)
22
23
  retorno = new
23
24
  cnab_lines.each do |line|
24
- if line.tipo_registro == "T"
25
+ if line.tipo_registro == 'T'
25
26
  Line::REGISTRO_T_FIELDS.each do |attr|
26
- retorno.send(attr + "=", line.send(attr))
27
+ retorno.send(attr + '=', line.send(attr))
27
28
  end
28
29
  else
29
30
  Line::REGISTRO_U_FIELDS.each do |attr|
30
- retorno.send(attr + "=", line.send(attr))
31
+ retorno.send(attr + '=', line.send(attr))
31
32
  end
32
33
  end
33
34
  end
@@ -41,8 +42,8 @@ module Brcobranca
41
42
  class Line < Base
42
43
  extend ParseLine::FixedWidth # Extendendo parseline
43
44
 
44
- REGISTRO_T_FIELDS = %w(agencia_com_dv cedente_com_dv nosso_numero carteira data_vencimento valor_titulo banco_recebedor agencia_recebedora_com_dv sequencial valor_tarifa)
45
- REGISTRO_U_FIELDS = %w(desconto_concedito valor_abatimento iof_desconto juros_mora valor_recebido outras_despesas outros_recebimento data_credito)
45
+ REGISTRO_T_FIELDS = %w(agencia_com_dv cedente_com_dv nosso_numero carteira data_vencimento valor_titulo banco_recebedor agencia_recebedora_com_dv sequencial valor_tarifa).freeze
46
+ REGISTRO_U_FIELDS = %w(desconto_concedito valor_abatimento iof_desconto juros_mora valor_recebido outras_despesas outros_recebimento data_credito).freeze
46
47
 
47
48
  attr_accessor :tipo_registro
48
49
 
@@ -1,22 +1,22 @@
1
1
  # -*- encoding: utf-8 -*-
2
+ #
2
3
  require 'parseline'
3
4
 
4
5
  module Brcobranca
5
6
  module Retorno
6
7
  module Cnab400
7
8
  class Base < Brcobranca::Retorno::Base
8
-
9
9
  # Load lines
10
- def self.load_lines(file, options={})
10
+ def self.load_lines(file, options = {})
11
11
  return nil if file.blank?
12
12
 
13
13
  codigo_banco = codigo_banco_do_arquivo(file)
14
14
 
15
15
  case codigo_banco
16
- when "237"
16
+ when '237'
17
17
  Brcobranca::Retorno::Cnab400::Bradesco.load_lines(file, options)
18
18
 
19
- when "341"
19
+ when '341'
20
20
  Brcobranca::Retorno::Cnab400::Itau.load_lines(file, options)
21
21
 
22
22
  else
@@ -27,13 +27,12 @@ module Brcobranca
27
27
  # Codigo do banco lido do arquivo.
28
28
  # Registro Header [76..78]
29
29
  def self.codigo_banco_do_arquivo(file)
30
- arquivo = File.open(file, "r")
30
+ arquivo = File.open(file, 'r')
31
31
  header = arquivo.gets
32
32
  codigo_banco = header.blank? ? nil : header[76..78]
33
33
  arquivo.close
34
34
  codigo_banco
35
35
  end
36
-
37
36
  end
38
37
  end
39
38
  end
@@ -1,4 +1,5 @@
1
1
  # -*- encoding: utf-8 -*-
2
+ #
2
3
 
3
4
  module Brcobranca
4
5
  module Retorno
@@ -1,4 +1,5 @@
1
1
  # -*- encoding: utf-8 -*-
2
+ #
2
3
  require 'parseline'
3
4
 
4
5
  module Brcobranca
@@ -1,4 +1,5 @@
1
1
  # -*- encoding: utf-8 -*-
2
+ #
2
3
 
3
4
  require 'parseline'
4
5
  module Brcobranca