br_boleto 2.0.0 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 294ff39fa89db1c6ba4b5d5b19b8fab67b1aec44
4
- data.tar.gz: b95de65b899273762c04d225aa85cdbbaa3f91fc
3
+ metadata.gz: 2ea3e18f9bcb8221f2853ad69bf7eaf2f4f3424e
4
+ data.tar.gz: 4f5832a88480ac6672ca81258c235c7918f81acf
5
5
  SHA512:
6
- metadata.gz: a330174ff34f16d4456533e874020123e40dff5c7c0ecce1f5efdb6154fbece15e39d20bd60733f272e76f860420663a463fff8d62e553e5462b2f07ddeb4de0
7
- data.tar.gz: a5f2c505bd24a19295c904d5ef87fc6201f5a95b980fc083a6fd080316b37c2acc5e290c1bf7881b3830c969dc713b8edd8fa529f82c039167094d24663019cb
6
+ metadata.gz: 4029f3dc8d1fa4c8891ab167478283ef76a74099a284a1fc8cefdb060b9e0c76faf23b841f5f535e35d5330e48f8c935d8815b4971f1d722a6fe77904ef30112
7
+ data.tar.gz: c0c7f28257ff10c696e69bc320e918a4c7ecb1674e58c8509d6c8c0849a8901895def02b073a00bebbbd93e1d1c8227cc4319d073c73e5ccc1995e4a15ae2b27
@@ -54,6 +54,26 @@ module BrBoleto
54
54
  result.adjust_size_to(20)
55
55
  end
56
56
 
57
+ # Espaço reservado para o Banco
58
+ # 20 posições
59
+ # Brancos
60
+ #
61
+ def header_arquivo_posicao_172_a_191
62
+ ''.rjust(20, ' ')
63
+ end
64
+
65
+ # Espaço reservado para a Empresa
66
+ # 20 posições
67
+ # Brancos
68
+ #
69
+ def header_arquivo_posicao_192_a_211
70
+ ''.rjust(20, ' ')
71
+ end
72
+
73
+ # Posição 212 a 240 do Header do Arquivo
74
+ # Para o sicoob esse espaço deve ter 'Brancos'
75
+ # 29 posições
76
+ #
57
77
  def complemento_header_arquivo
58
78
  ''.rjust(29, ' ')
59
79
  end
@@ -71,6 +91,14 @@ module BrBoleto
71
91
  result
72
92
  end
73
93
 
94
+ # Tipo de Documento
95
+ # 1 posição
96
+ # Branco
97
+ #
98
+ def segmento_p_posicao_060_a_060
99
+ ' '
100
+ end
101
+
74
102
  # Tipo de cobrança
75
103
  # Ex: :simples, :caucionada
76
104
  #
@@ -124,6 +152,14 @@ module BrBoleto
124
152
  complemento.upcase
125
153
  end
126
154
 
155
+ # Forma de Lançamento
156
+ # 2 posições
157
+ # Brancos
158
+ #
159
+ def header_lote_posicao_012_a_013
160
+ ' '
161
+ end
162
+
127
163
  # Quantidade de titulos de cobrança simples
128
164
  # 6 posições
129
165
  #
@@ -2,7 +2,7 @@ module BrBoleto
2
2
  module Version
3
3
  MAJOR = 2 #inclui alterações de API e pode quebrar compatibilidade com versões anteriores
4
4
  MINOR = 0 #inclui novas funcionalidades, sem quebrar APIs existentes
5
- PATCH = 0 #corrige bugs ou traz melhorias em implementações já existentes
5
+ PATCH = 1 #corrige bugs ou traz melhorias em implementações já existentes
6
6
  CURRENT = "#{MAJOR}.#{MINOR}.#{PATCH}"
7
7
  end
8
8
  end
@@ -111,12 +111,6 @@ describe BrBoleto::Remessa::Cnab240::Sicoob do
111
111
  end
112
112
  end
113
113
 
114
- describe "#complemento_header_arquivo" do
115
- it "deve ter 29 posições em branco" do
116
- subject.complemento_header_arquivo.must_equal ''.rjust(29, ' ')
117
- end
118
- end
119
-
120
114
  describe "#complemento_trailer_lote" do
121
115
  let(:pagamento_2) { FactoryGirl.build(:remessa_pagamento, valor_documento: 50.25) }
122
116
  it "deve carregar os dados dos metodos complemento_trailer_lote na sequencia" do
@@ -237,25 +231,6 @@ describe BrBoleto::Remessa::Cnab240::Sicoob do
237
231
  end
238
232
  end
239
233
 
240
- describe "#complemento_p" do
241
- it "posicao 0 até 11 deve ter a conta_corrente" do
242
- subject.conta.stubs(:conta_corrente_dv)
243
- subject.conta.expects(:conta_corrente).returns(123456789)
244
- subject.complemento_p(pagamento)[0..11].must_equal "000123456789"
245
- end
246
- it "posicao 12 deve te o conta_corrente_dv" do
247
- subject.conta.expects(:conta_corrente_dv).returns("%")
248
- subject.complemento_p(pagamento)[12].must_equal "%"
249
- end
250
- it "posição 13 deve ser um caracter em branco" do
251
- subject.complemento_p(pagamento)[13].must_equal " "
252
- end
253
- it "posição 14 até 33 deve ter o valor do metodo formata_nosso_numero passando o nosso_numero do pagamento" do
254
- subject.expects(:formata_nosso_numero).with(pagamento).returns("12345678901234567890")
255
- subject.complemento_p(pagamento)[14..33].must_equal '12345678901234567890'
256
- end
257
- end
258
-
259
234
  describe "#dados_do_arquivo" do
260
235
  it "deve gerar os dados do arquivo" do
261
236
  subject.dados_do_arquivo.size.must_equal 1927
@@ -297,6 +272,27 @@ describe BrBoleto::Remessa::Cnab240::Sicoob do
297
272
  end
298
273
  end
299
274
 
275
+ describe "particularidades do header_arquivo" do
276
+ describe "#complemento_header_arquivo" do
277
+ it "deve ter 29 posições em branco" do
278
+ subject.complemento_header_arquivo.must_equal ''.rjust(29, ' ')
279
+ end
280
+ end
281
+
282
+ it "#header_arquivo_posicao_172_a_191 deve ter 20 posições em branco" do
283
+ subject.header_arquivo_posicao_172_a_191.must_equal ''.rjust(20, ' ')
284
+ end
285
+ it "#header_arquivo_posicao_192_a_211 deve ter 20 posições em branco" do
286
+ subject.header_arquivo_posicao_192_a_211.must_equal ''.rjust(20, ' ')
287
+ end
288
+ end
289
+
290
+ describe "particularidades header_lote" do
291
+ it "#header_lote_posicao_012_a_013 deve ter 2 digitos em branco" do
292
+ subject.header_lote_posicao_012_a_013.must_equal ' '
293
+ end
294
+ end
295
+
300
296
  describe "particularidades do Segmento R" do
301
297
  describe "#segmento_r_posicao_066_a_066 - Codigo da multa " do
302
298
  # Para o Sicoob o código reference a Isento é '0', diferente do padrão
@@ -328,6 +324,24 @@ describe BrBoleto::Remessa::Cnab240::Sicoob do
328
324
  end
329
325
 
330
326
  describe "particularidades do Segmento P" do
327
+ describe "#complemento_p" do
328
+ it "posicao 0 até 11 deve ter a conta_corrente" do
329
+ subject.conta.stubs(:conta_corrente_dv)
330
+ subject.conta.expects(:conta_corrente).returns(123456789)
331
+ subject.complemento_p(pagamento)[0..11].must_equal "000123456789"
332
+ end
333
+ it "posicao 12 deve te o conta_corrente_dv" do
334
+ subject.conta.expects(:conta_corrente_dv).returns("%")
335
+ subject.complemento_p(pagamento)[12].must_equal "%"
336
+ end
337
+ it "posição 13 deve ser um caracter em branco" do
338
+ subject.complemento_p(pagamento)[13].must_equal " "
339
+ end
340
+ it "posição 14 até 33 deve ter o valor do metodo formata_nosso_numero passando o nosso_numero do pagamento" do
341
+ subject.expects(:formata_nosso_numero).with(pagamento).returns("12345678901234567890")
342
+ subject.complemento_p(pagamento)[14..33].must_equal '12345678901234567890'
343
+ end
344
+ end
331
345
  describe "#segmento_p_posicao_118_a_118 - Codigo de Juros " do
332
346
  # Para o Sicoob o código reference a Isento é '0', diferente do padrão
333
347
  # estabelecido pela FEBRABAN onde o código de isento é '3'
@@ -355,6 +369,9 @@ describe BrBoleto::Remessa::Cnab240::Sicoob do
355
369
  subject.send(:segmento_p_posicao_118_a_118, pagamento).must_equal '0'
356
370
  end
357
371
  end
372
+ it "#segmento_p_posicao_060_a_060 deve ter 1 digito em branco" do
373
+ subject.segmento_p_posicao_060_a_060.must_equal ' '
374
+ end
358
375
  end
359
376
 
360
377
  describe 'Geração do arquivo' do
@@ -1,6 +1,6 @@
1
- 75600000 233486451000130 0304060000000548430 EMPRESA EMITENTE SICOOB 106092016094352000011081000000000000000000000000000000000000000000000
2
- 75600011R0100040 2033486451000130 0304060000000548430 EMPRESA EMITENTE 000000110609201600000000
3
- 7560001300001P 010304060000000548430 000015780401014 102220000000001578040609201600000000001478900000 02N06092016107092016000000000000025000000000000000000000000000000000000000000000000000000 1000000090000000000
1
+ 75600000 233486451000130 0304060000000548430 EMPRESA EMITENTE SICOOB 10609201609435200001108100000
2
+ 75600011R01 040 2033486451000130 0304060000000548430 EMPRESA EMITENTE 000000110609201600000000
3
+ 7560001300001P 010304060000000548430 000015780401014 10 220000000001578040609201600000000001478900000 02N06092016107092016000000000000025000000000000000000000000000000000000000000000000000000 1000000090000000000
4
4
  7560001300002Q 011000078793321112BENJAMIN FRANCISCO MARCOS VINICIUS FERNARUA PRINCIPAL S/N 881 CENTRO 79210972ANASTACIO MS0000000000000000 000
5
5
  7560001300003R 01000000000000000000000000000000000000000000000000207092016000000000000200 0000000000000000 000000000000 0
6
6
  7560001300004S 01101 01
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: br_boleto
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
4
+ version: 2.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bruno M. Mergen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-09-11 00:00:00.000000000 Z
11
+ date: 2016-09-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake