brcobranca 4.0.0 → 4.1.0

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: f621710db8869fc03fddac6155db867578c8547c
4
- data.tar.gz: 33139ba620fac2fcd94d27fc5128e6c6a45e63af
3
+ metadata.gz: 6893b89d7db26d48d9580c10adfd1a8972fe8cf2
4
+ data.tar.gz: 598e64afa782bd06982172c1daee939a18882881
5
5
  SHA512:
6
- metadata.gz: 105035109e371e8280b8444f014489a548447d533e7afdfb47c52576e156c8505fc754e6c276142c6cb66d16eb005933f817c446dd82d64b39f2f3b9b28b2425
7
- data.tar.gz: 42fa245c3dde817e7fe334383fa009683aef6192dab4bfa7392c0d734ad41339d06af8be61fc30537212372bfcbb7353e1e89b3790ba16a419df6b6f4de47e89
6
+ metadata.gz: 584a72aec5571102db826e87060ba83a4fa0528ea70ba2ea54b7871696d4d2781792cb77ac900c7bc5d1c909b6a10374943bea59eedeb959e23760b6589755e5
7
+ data.tar.gz: 7ca666f4ff5401a66cc30c8276c40b681f9fc198cf7ee0973ae6966a349fbed9fa25cb569b93a6c60ac3100088ce56377b5ced8d9e5babc5b37cd6224883d235
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.1.3
1
+ 2.2.2
data/brcobranca.gemspec CHANGED
@@ -6,12 +6,11 @@ require 'brcobranca/version'
6
6
  Gem::Specification.new do |gem|
7
7
  gem.name = 'brcobranca'
8
8
  gem.version = Brcobranca::VERSION
9
- gem.authors = ['Kivanio Barbosa']
10
- gem.description = 'Gem para emissão de bloquetos de cobrança de bancos brasileiros.'
11
- gem.summary = 'Gem que permite trabalhar com bloquetos de cobrança para bancos brasileiros.'
12
- gem.email = 'kivanio@gmail.com'
13
- gem.homepage = 'http://rubygems.org/gems/brcobranca'
14
-
9
+ gem.authors = ["Kivanio Barbosa"]
10
+ gem.description = %q{Gem para emissao de bloquetos de cobranca de bancos brasileiros.}
11
+ gem.summary = %q{Gem que permite trabalhar com bloquetos de cobranca para bancos brasileiros.}
12
+ gem.email = %q{kivanio@gmail.com}
13
+ gem.homepage = %q{http://rubygems.org/gems/brcobranca}
15
14
  gem.files = `git ls-files`.split($/)
16
15
  gem.executables = gem.files.grep(%r{^bin/}).map { |f| File.basename(f) }
17
16
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
@@ -71,6 +71,12 @@ module Brcobranca
71
71
  attr_accessor :sacado_endereco
72
72
  # <b>REQUERIDO</b>: Documento da pessoa que receberá o boleto
73
73
  attr_accessor :sacado_documento
74
+ # <b>OPCIONAL</b>: Nome do avalista
75
+ attr_accessor :avalista
76
+ # <b>OPCIONAL</b>: Documento do avalista
77
+ attr_accessor :avalista_documento
78
+ # <b>OPCIONAL</b>: Endereço da pessoa que envia o boleto
79
+ attr_accessor :cedente_endereco
74
80
 
75
81
  # Validações
76
82
  validates_presence_of :agencia, :conta_corrente, :moeda, :especie_documento, :especie, :aceite, :numero_documento, message: 'não pode estar em branco.'
@@ -11,6 +11,9 @@ module Brcobranca
11
11
  # @param (see Brcobranca::Boleto::Base#initialize)
12
12
  def initialize(campos = {})
13
13
  campos = { carteira: '06' }.merge!(campos)
14
+
15
+ campos.merge!(local_pagamento: 'Pagável preferencialmente na Rede Bradesco ou Bradesco Expresso')
16
+
14
17
  super(campos)
15
18
  end
16
19
 
@@ -42,6 +45,10 @@ module Brcobranca
42
45
  "#{carteira}/#{numero_documento}-#{nosso_numero_dv}"
43
46
  end
44
47
 
48
+ def nosso_numero_dv
49
+ "#{carteira}#{numero_documento}".modulo11_bradesco
50
+ end
51
+
45
52
  # Agência + conta corrente do cliente para exibir no boleto.
46
53
  # @return [String]
47
54
  # @example
@@ -28,8 +28,6 @@ module Brcobranca
28
28
  carteira: "#{MODALIDADE_COBRANCA[:sem_registro]}#{EMISSAO_BOLETO[:cedente]}"
29
29
  }.merge!(campos)
30
30
 
31
- campos.merge!(convenio: campos[:convenio].rjust(6, '0')) if campos[:convenio]
32
- campos.merge!(numero_documento: campos[:numero_documento].rjust(15, '0')) if campos[:numero_documento]
33
31
  campos.merge!(local_pagamento: 'PREFERENCIALMENTE NAS CASAS LOTÉRICAS ATÉ O VALOR LIMITE')
34
32
 
35
33
  super(campos)
@@ -47,6 +45,18 @@ module Brcobranca
47
45
  def banco_dv
48
46
  '0'
49
47
  end
48
+
49
+ # Número do convênio/contrato do cliente junto ao banco.
50
+ # @return [String] 6 caracteres numéricos.
51
+ def convenio=(valor)
52
+ @convenio = valor.to_s.rjust(6, '0') if valor
53
+ end
54
+
55
+ # Número seqüencial utilizado para identificar o boleto.
56
+ # @return [String] 15 caracteres numéricos.
57
+ def numero_documento=(valor)
58
+ @numero_documento = valor.to_s.rjust(15, '0') if valor
59
+ end
50
60
 
51
61
  # Nosso número, 17 dígitos
52
62
  # 1 à 2: carteira
@@ -15,9 +15,7 @@ module Brcobranca
15
15
  # Nova instancia do Santander
16
16
  # @param (see Brcobranca::Boleto::Base#initialize)
17
17
  def initialize(campos = {})
18
- campos = { carteira: '102',
19
- conta_corrente: '00000' # Obrigatória na classe base
20
- }.merge!(campos)
18
+ campos = { carteira: '102' }.merge!(campos)
21
19
  super(campos)
22
20
  end
23
21
 
@@ -28,6 +26,12 @@ module Brcobranca
28
26
  '033'
29
27
  end
30
28
 
29
+ # Número da conta corrente
30
+ # @return [String] 9 caracteres numéricos.
31
+ def conta_corrente=(valor)
32
+ @conta_corrente = valor.to_s.rjust(9, '0') if valor
33
+ end
34
+
31
35
  # Número do convênio/contrato do cliente junto ao banco. No Santander, é
32
36
  # chamado de Código do Cedente.
33
37
  # @return [String] 7 caracteres numéricos.
@@ -50,8 +54,8 @@ module Brcobranca
50
54
  # Dígito verificador do nosso número.
51
55
  # @return [String] 1 caracteres numéricos.
52
56
  def nosso_numero_dv
53
- nosso_numero = numero_documento.to_s.rjust(12, '0') unless numero_documento.nil?
54
- nosso_numero.modulo11_2to9
57
+ nosso_numero = self.numero_documento.to_s.rjust(12, '0') unless self.numero_documento.nil?
58
+ nosso_numero.modulo11_santander
55
59
  end
56
60
 
57
61
  # Nosso número para exibir no boleto.
@@ -81,7 +85,7 @@ module Brcobranca
81
85
  #
82
86
  # @return [String] 25 caracteres numéricos.
83
87
  def codigo_barras_segunda_parte
84
- "9#{convenio}00000#{numero_documento}0#{carteira}"
88
+ "9#{self.convenio}0000#{self.numero_documento}#{self.nosso_numero_dv}0#{self.carteira}"
85
89
  end
86
90
  end
87
91
  end
@@ -16,6 +16,7 @@ module Brcobranca
16
16
  validates_length_of :numero_documento, maximum: 5, message: 'deve ser menor ou igual a 5 dígitos.'
17
17
  validates_length_of :conta_corrente, maximum: 5, message: 'deve ser menor ou igual a 5 dígitos.'
18
18
  validates_length_of :carteira, maximum: 2, message: 'deve ser menor ou igual a 2 dígitos.'
19
+ validates_length_of :posto, maximum: 2, message: 'deve ser menor ou igual a 2 dígitos.'
19
20
  validates_length_of :byte_idt, is: 1, message: 'deve ser 1 se o numero foi gerado pela agencia ou 2-9 se foi gerado pelo beneficiário'
20
21
 
21
22
  # Nova instancia do Bradesco
@@ -135,11 +135,11 @@ module Brcobranca
135
135
  # LOGOTIPO do BANCO
136
136
  doc.image(boleto.logotipo, x: '0.5 cm', y: '23.85 cm', zoom: 80)
137
137
  # Dados
138
- doc.moveto x: '5.2 cm', y: '23.85 cm'
138
+ doc.moveto x: '5.2 cm', y: '23.9 cm'
139
139
  doc.show "#{boleto.banco}-#{boleto.banco_dv}", tag: :grande
140
- doc.moveto x: '7.5 cm', y: '23.85 cm'
140
+ doc.moveto x: '7.5 cm', y: '23.9 cm'
141
141
  doc.show boleto.codigo_barras.linha_digitavel, tag: :grande
142
- doc.moveto x: '0.7 cm', y: '23 cm'
142
+ doc.moveto x: '0.7 cm', y: '23.0 cm'
143
143
  doc.show boleto.cedente
144
144
  doc.moveto x: '11 cm', y: '23 cm'
145
145
  doc.show boleto.agencia_conta_boleto
@@ -157,9 +157,9 @@ module Brcobranca
157
157
  doc.show boleto.nosso_numero_boleto
158
158
  doc.moveto x: '16.5 cm', y: '22.2 cm'
159
159
  doc.show boleto.valor_documento.to_currency
160
- doc.moveto x: '1.4 cm', y: '20.9 cm'
160
+ doc.moveto x: '1.5 cm', y: '20.9 cm'
161
161
  doc.show "#{boleto.sacado} - #{boleto.sacado_documento.formata_documento}"
162
- doc.moveto x: '1.4 cm', y: '20.6 cm'
162
+ doc.moveto x: '1.5 cm', y: '20.6 cm'
163
163
  doc.show "#{boleto.sacado_endereco}"
164
164
  # FIM Primeira parte do BOLETO
165
165
  end
@@ -169,16 +169,18 @@ module Brcobranca
169
169
  # INICIO Segunda parte do BOLETO BB
170
170
  # LOGOTIPO do BANCO
171
171
  doc.image(boleto.logotipo, x: '0.5 cm', y: '16.8 cm', zoom: 80)
172
- doc.moveto x: '5.2 cm', y: '16.8 cm'
172
+ doc.moveto x: '5.2 cm', y: '16.9 cm'
173
173
  doc.show "#{boleto.banco}-#{boleto.banco_dv}", tag: :grande
174
- doc.moveto x: '7.5 cm', y: '16.8 cm'
174
+ doc.moveto x: '7.5 cm', y: '16.9 cm'
175
175
  doc.show boleto.codigo_barras.linha_digitavel, tag: :grande
176
176
  doc.moveto x: '0.7 cm', y: '16 cm'
177
177
  doc.show boleto.local_pagamento
178
178
  doc.moveto x: '16.5 cm', y: '16 cm'
179
179
  doc.show boleto.data_vencimento.to_s_br if boleto.data_vencimento
180
- doc.moveto x: '0.7 cm', y: '15.2 cm'
180
+ doc.moveto x: '1.9 cm', y: '15.5 cm'
181
181
  doc.show boleto.cedente
182
+ doc.moveto x: '0.7 cm', y: '15.2 cm'
183
+ doc.show boleto.cedente_endereco
182
184
  doc.moveto x: '16.5 cm', y: '15.2 cm'
183
185
  doc.show boleto.agencia_conta_boleto
184
186
  doc.moveto x: '0.7 cm', y: '14.4 cm'
@@ -194,11 +196,15 @@ module Brcobranca
194
196
  doc.moveto x: '16.5 cm', y: '14.4 cm'
195
197
  doc.show boleto.nosso_numero_boleto
196
198
  doc.moveto x: '4.4 cm', y: '13.5 cm'
197
- doc.show boleto.carteira
199
+ if boleto.variacao
200
+ doc.show "#{boleto.carteira}-#{boleto.variacao}"
201
+ else
202
+ doc.show boleto.carteira
203
+ end
198
204
  doc.moveto x: '6.4 cm', y: '13.5 cm'
199
205
  doc.show boleto.especie
200
- doc.moveto x: '8 cm', y: '13.5 cm'
201
- doc.show boleto.quantidade
206
+ # doc.moveto x: '8 cm', y: '13.5 cm'
207
+ # doc.show boleto.quantidade
202
208
  # doc.moveto :x => '11 cm' , :y => '13.5 cm'
203
209
  # doc.show boleto.valor.to_currency
204
210
  doc.moveto x: '16.5 cm', y: '13.5 cm'
@@ -216,9 +222,14 @@ module Brcobranca
216
222
  doc.moveto x: '0.7 cm', y: '10.7 cm'
217
223
  doc.show boleto.instrucao6
218
224
  doc.moveto x: '1.2 cm', y: '8.8 cm'
219
- doc.show "#{boleto.sacado} - #{boleto.sacado_documento.formata_documento}" if boleto.sacado && boleto.sacado_documento
225
+ doc.show "#{boleto.sacado} - CPF/CNPJ: #{boleto.sacado_documento.formata_documento}" if boleto.sacado && boleto.sacado_documento
220
226
  doc.moveto x: '1.2 cm', y: '8.4 cm'
221
227
  doc.show "#{boleto.sacado_endereco}"
228
+
229
+ if boleto.avalista && boleto.avalista_documento
230
+ doc.moveto x: '2.4 cm', y: '7.47 cm'
231
+ doc.show "#{boleto.avalista} - #{boleto.avalista_documento}"
232
+ end
222
233
  # FIM Segunda parte do BOLETO
223
234
  end
224
235
  end # Base
@@ -41,6 +41,48 @@ module Brcobranca
41
41
  [0, 10, 11].include?(valor) ? 1 : valor
42
42
  end
43
43
 
44
+ # Calcula módulo 11 com multiplicadores de 2 a 9 e 2 a 5 (Utilizado pelo Santander).
45
+ #
46
+ # @return [Integer]
47
+ def modulo11_santander
48
+ return 0 if self.to_i == 0
49
+
50
+ somatorio = 0
51
+ multiplicadores = [2, 3, 4, 5, 6, 7, 8, 9, 2, 3, 4, 5]
52
+ base = "#{self.rjust(12, '0')}".reverse
53
+ index = 0
54
+
55
+ base.each_char do |char|
56
+ somatorio += base[index].to_i * multiplicadores[index].to_i
57
+ index += 1
58
+ end
59
+
60
+ resto = somatorio % 11
61
+ return 1 if resto == 10
62
+ return 0 if resto == 1 || resto == 0
63
+ return 11 - resto
64
+ end
65
+
66
+ # Calcula módulo 11 com multiplicadores de 2, 7 a 2, e 7 a 2 (Utilizado pelo Bradesco).
67
+ #
68
+ # @return [Integer, String] Caso o resto seja 1, retorna P
69
+
70
+ def modulo11_bradesco
71
+ somatorio = 0
72
+ multiplicadores = [2, 7, 6, 5, 4, 3, 2, 7, 6, 5, 4, 3, 2]
73
+ index = 0
74
+
75
+ self.each_char do |char|
76
+ somatorio += self[index].to_i * multiplicadores[index]
77
+ index += 1
78
+ end
79
+
80
+ resto = somatorio % 11
81
+ return 0 if resto == 0
82
+ return 'P' if resto == 1
83
+ return 11 - resto
84
+ end
85
+
44
86
  # Calcula módulo 11 com multiplicaroes de 2 a 9 (Utilizado pela CAIXA - boletos SIGCB).
45
87
  #
46
88
  # @return [Integer]
@@ -56,6 +56,7 @@ module Brcobranca
56
56
  parse.field :valor_titulo, 81..95
57
57
  parse.field :banco_recebedor, 96..98
58
58
  parse.field :agencia_recebedora_com_dv, 99..104
59
+ # parse.field :data_ocorrencia, 137..144
59
60
  parse.field :data_credito, 145..152
60
61
  parse.field :outras_despesas, 107..121
61
62
  parse.field :iof_desconto, 62..76
@@ -1,5 +1,5 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
 
3
3
  module Brcobranca
4
- VERSION = '4.0.0'
4
+ VERSION = '4.1.0'
5
5
  end
@@ -11,7 +11,7 @@ describe Brcobranca::Boleto::Bradesco do
11
11
  aceite: 'S',
12
12
  quantidade: 1,
13
13
  valor: 0.0,
14
- local_pagamento: 'QUALQUER BANCO ATÉ O VENCIMENTO',
14
+ local_pagamento: 'Pagável preferencialmente na Rede Bradesco ou Bradesco Expresso',
15
15
  cedente: 'Kivanio Barbosa',
16
16
  documento_cedente: '12345678912',
17
17
  sacado: 'Claudio Pozzebom',
@@ -36,7 +36,7 @@ describe Brcobranca::Boleto::Bradesco do
36
36
  expect(boleto_novo.quantidade).to eql(1)
37
37
  expect(boleto_novo.valor).to eql(0.0)
38
38
  expect(boleto_novo.valor_documento).to eql(0.0)
39
- expect(boleto_novo.local_pagamento).to eql('QUALQUER BANCO ATÉ O VENCIMENTO')
39
+ expect(boleto_novo.local_pagamento).to eql('Pagável preferencialmente na Rede Bradesco ou Bradesco Expresso')
40
40
  expect(boleto_novo.carteira).to eql('06')
41
41
 
42
42
  end
@@ -54,7 +54,7 @@ describe Brcobranca::Boleto::Bradesco do
54
54
  expect(boleto_novo.quantidade).to eql(1)
55
55
  expect(boleto_novo.valor).to eql(0.0)
56
56
  expect(boleto_novo.valor_documento).to eql(0.0)
57
- expect(boleto_novo.local_pagamento).to eql('QUALQUER BANCO ATÉ O VENCIMENTO')
57
+ expect(boleto_novo.local_pagamento).to eql('Pagável preferencialmente na Rede Bradesco ou Bradesco Expresso')
58
58
  expect(boleto_novo.cedente).to eql('Kivanio Barbosa')
59
59
  expect(boleto_novo.documento_cedente).to eql('12345678912')
60
60
  expect(boleto_novo.sacado).to eql('Claudio Pozzebom')
@@ -104,30 +104,30 @@ describe Brcobranca::Boleto::Bradesco do
104
104
  it 'Montar nosso_numero_boleto' do
105
105
  boleto_novo = described_class.new(@valid_attributes)
106
106
 
107
- boleto_novo.numero_documento = '4042'
107
+ boleto_novo.numero_documento = '00000000525'
108
108
  boleto_novo.carteira = '06'
109
- expect(boleto_novo.nosso_numero_boleto).to eql('06/00000004042-8')
110
- expect(boleto_novo.nosso_numero_dv).to eql(8)
111
- boleto_novo.numero_documento = '61900'
112
- boleto_novo.carteira = '05'
113
- expect(boleto_novo.nosso_numero_boleto).to eql('05/00000061900-0')
114
- expect(boleto_novo.nosso_numero_dv).to eql(0)
115
- boleto_novo.numero_documento = '0719'
116
- boleto_novo.carteira = '07'
117
- expect(boleto_novo.nosso_numero_boleto).to eql('07/00000000719-6')
118
- expect(boleto_novo.nosso_numero_dv).to eql(6)
119
- boleto_novo.numero_documento = 4042
120
- boleto_novo.carteira = '06'
121
- expect(boleto_novo.nosso_numero_boleto).to eql('06/00000004042-8')
109
+ expect(boleto_novo.nosso_numero_boleto).to eql('06/00000000525-P')
110
+ expect(boleto_novo.nosso_numero_dv).to eql('P')
111
+
112
+ boleto_novo.numero_documento = '00000000001'
113
+ boleto_novo.carteira = '09'
114
+ expect(boleto_novo.nosso_numero_boleto).to eql('09/00000000001-1')
115
+ expect(boleto_novo.nosso_numero_dv).to eql(1)
116
+
117
+ boleto_novo.numero_documento = '00000000002'
118
+ boleto_novo.carteira = '19'
119
+ expect(boleto_novo.nosso_numero_boleto).to eql('19/00000000002-8')
122
120
  expect(boleto_novo.nosso_numero_dv).to eql(8)
123
- boleto_novo.numero_documento = 61_900
124
- boleto_novo.carteira = '05'
125
- expect(boleto_novo.nosso_numero_boleto).to eql('05/00000061900-0')
121
+
122
+ boleto_novo.numero_documento = 6
123
+ boleto_novo.carteira = '19'
124
+ expect(boleto_novo.nosso_numero_boleto).to eql('19/00000000006-0')
126
125
  expect(boleto_novo.nosso_numero_dv).to eql(0)
127
- boleto_novo.numero_documento = 719
128
- boleto_novo.carteira = '07'
129
- expect(boleto_novo.nosso_numero_boleto).to eql('07/00000000719-6')
130
- expect(boleto_novo.nosso_numero_dv).to eql(6)
126
+
127
+ boleto_novo.numero_documento = '00000000001'
128
+ boleto_novo.carteira = '19'
129
+ expect(boleto_novo.nosso_numero_boleto).to eql('19/00000000001-P')
130
+ expect(boleto_novo.nosso_numero_dv).to eql('P')
131
131
  end
132
132
 
133
133
  it 'Montar agencia_conta_boleto' do
@@ -18,7 +18,8 @@ describe Brcobranca::Boleto::Santander do
18
18
  sacado_documento: '12345678900',
19
19
  agencia: '0059',
20
20
  convenio: 1_899_775,
21
- numero_documento: '90000267'
21
+ numero_documento: '90000267',
22
+ conta_corrente: '013000123'
22
23
  }
23
24
  end
24
25
 
@@ -63,26 +64,26 @@ describe Brcobranca::Boleto::Santander do
63
64
  expect(boleto_novo.carteira).to eql('102')
64
65
  end
65
66
 
66
- it 'Gerar boleto' do
67
- @valid_attributes[:data_documento] = Date.parse('2011/10/08')
68
- boleto_novo = described_class.new(@valid_attributes)
69
- expect(boleto_novo.codigo_barras_segunda_parte).to eql('9189977500000900002670102')
70
- expect(boleto_novo.codigo_barras).to eql('03391511500000025009189977500000900002670102')
71
- expect(boleto_novo.codigo_barras.linha_digitavel).to eql('03399.18997 77500.000904 00026.701029 1 51150000002500')
67
+ it "Gerar boleto" do
68
+ @valid_attributes[:data_documento] = Date.parse("2011/10/08")
69
+ boleto_novo = Brcobranca::Boleto::Santander.new(@valid_attributes)
70
+ expect(boleto_novo.codigo_barras_segunda_parte).to eql("9189977500009000026700102")
71
+ expect(boleto_novo.codigo_barras).to eql("03398511500000025009189977500009000026700102")
72
+ expect(boleto_novo.codigo_barras.linha_digitavel).to eql("03399.18997 77500.009004 00267.001022 8 51150000002500")
72
73
 
73
74
  @valid_attributes[:valor] = 54.00
74
- @valid_attributes[:numero_documento] = '90002720'
75
- @valid_attributes[:data_documento] = Date.parse('2012/09/07')
76
- boleto_novo = described_class.new(@valid_attributes)
77
- expect(boleto_novo.codigo_barras_segunda_parte).to eql('9189977500000900027200102')
78
- expect(boleto_novo.codigo_barras).to eql('03391545000000054009189977500000900027200102')
79
- expect(boleto_novo.codigo_barras.linha_digitavel).to eql('03399.18997 77500.000904 00272.001025 1 54500000005400')
75
+ @valid_attributes[:numero_documento] = "90002720"
76
+ @valid_attributes[:data_documento] = Date.parse("2012/09/07")
77
+ boleto_novo = Brcobranca::Boleto::Santander.new(@valid_attributes)
78
+ expect(boleto_novo.codigo_barras_segunda_parte).to eql("9189977500009000272070102")
79
+ expect(boleto_novo.codigo_barras).to eql("03399545000000054009189977500009000272070102")
80
+ expect(boleto_novo.codigo_barras.linha_digitavel).to eql("03399.18997 77500.009004 02720.701024 9 54500000005400")
80
81
  end
81
82
 
82
83
  it 'Não permitir gerar boleto com atributos inválido' do
83
84
  boleto_novo = described_class.new
84
85
  expect { boleto_novo.codigo_barras }.to raise_error(Brcobranca::BoletoInvalido)
85
- expect(boleto_novo.errors.count).to eql(2)
86
+ expect(boleto_novo.errors.count).to eql(3)
86
87
  end
87
88
 
88
89
  it 'Montar nosso_numero_dv' do
@@ -93,6 +94,10 @@ describe Brcobranca::Boleto::Santander do
93
94
  @valid_attributes[:numero_documento] = '90002720'
94
95
  boleto_novo = described_class.new(@valid_attributes)
95
96
  expect(boleto_novo.nosso_numero_dv).to eql(7)
97
+
98
+ @valid_attributes[:numero_documento] = "1961005"
99
+ boleto_novo = Brcobranca::Boleto::Santander.new(@valid_attributes)
100
+ expect(boleto_novo.nosso_numero_dv).to eql(0)
96
101
  end
97
102
 
98
103
  it 'Montar nosso_numero_boleto' do
@@ -142,5 +147,4 @@ describe Brcobranca::Boleto::Santander do
142
147
  expect(File.exist?(tmp_file.path)).to be_falsey
143
148
  end
144
149
  end
145
-
146
150
  end
@@ -18,6 +18,7 @@ describe Brcobranca::Retorno::RetornoCnab240 do
18
18
  expect(pagamento.valor_titulo).to eql('000000000034400')
19
19
  expect(pagamento.banco_recebedor).to eql('001')
20
20
  expect(pagamento.agencia_recebedora_com_dv).to eql('020850')
21
+ # expect(pagamento.data_ocorrencia).to eql('02012012')
21
22
  expect(pagamento.data_credito).to eql('02012012')
22
23
  expect(pagamento.outras_despesas).to eql('000000000000004')
23
24
  expect(pagamento.iof_desconto).to eql('000000000000003')
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: brcobranca
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.0
4
+ version: 4.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kivanio Barbosa
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-09-30 00:00:00.000000000 Z
11
+ date: 2015-04-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rghost
@@ -66,7 +66,7 @@ dependencies:
66
66
  - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '3'
69
- description: Gem para emissão de bloquetos de cobrança de bancos brasileiros.
69
+ description: Gem para emissao de bloquetos de cobranca de bancos brasileiros.
70
70
  email: kivanio@gmail.com
71
71
  executables: []
72
72
  extensions: []
@@ -123,17 +123,17 @@ files:
123
123
  - spec/brcobranca/banco_brasil_spec.rb
124
124
  - spec/brcobranca/banco_caixa_spec.rb
125
125
  - spec/brcobranca/banco_hsbc_spec.rb
126
+ - spec/brcobranca/banco_itau_spec.rb
127
+ - spec/brcobranca/banco_santander_spec.rb
126
128
  - spec/brcobranca/banco_sicredi_spec.rb
127
129
  - spec/brcobranca/base_spec.rb
128
130
  - spec/brcobranca/boletos_em_lote_spec.rb
129
131
  - spec/brcobranca/core_ext_spec.rb
130
132
  - spec/brcobranca/currency_spec.rb
131
- - spec/brcobranca/itau_spec.rb
132
133
  - spec/brcobranca/retorno_cbr643_spec.rb
133
134
  - spec/brcobranca/retorno_cnab400_spec.rb
134
135
  - spec/brcobranca/retorno_cnab_240_spec.rb
135
136
  - spec/brcobranca/rghost_spec.rb
136
- - spec/brcobranca/santander_spec.rb
137
137
  - spec/brcobranca_spec.rb
138
138
  - spec/spec.opts
139
139
  - spec/spec_helper.rb
@@ -157,10 +157,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
157
157
  requirements:
158
158
  - GhostScript > 9.0, para gear PDF e código de Barras
159
159
  rubyforge_project:
160
- rubygems_version: 2.2.2
160
+ rubygems_version: 2.4.6
161
161
  signing_key:
162
162
  specification_version: 4
163
- summary: Gem que permite trabalhar com bloquetos de cobrança para bancos brasileiros.
163
+ summary: Gem que permite trabalhar com bloquetos de cobranca para bancos brasileiros.
164
164
  test_files:
165
165
  - spec/arquivos/CBR64310.RET
166
166
  - spec/arquivos/CNAB240.RET
@@ -169,17 +169,17 @@ test_files:
169
169
  - spec/brcobranca/banco_brasil_spec.rb
170
170
  - spec/brcobranca/banco_caixa_spec.rb
171
171
  - spec/brcobranca/banco_hsbc_spec.rb
172
+ - spec/brcobranca/banco_itau_spec.rb
173
+ - spec/brcobranca/banco_santander_spec.rb
172
174
  - spec/brcobranca/banco_sicredi_spec.rb
173
175
  - spec/brcobranca/base_spec.rb
174
176
  - spec/brcobranca/boletos_em_lote_spec.rb
175
177
  - spec/brcobranca/core_ext_spec.rb
176
178
  - spec/brcobranca/currency_spec.rb
177
- - spec/brcobranca/itau_spec.rb
178
179
  - spec/brcobranca/retorno_cbr643_spec.rb
179
180
  - spec/brcobranca/retorno_cnab400_spec.rb
180
181
  - spec/brcobranca/retorno_cnab_240_spec.rb
181
182
  - spec/brcobranca/rghost_spec.rb
182
- - spec/brcobranca/santander_spec.rb
183
183
  - spec/brcobranca_spec.rb
184
184
  - spec/spec.opts
185
185
  - spec/spec_helper.rb