brcobranca 4.0.0 → 4.1.0

Sign up to get free protection for your applications and to get access to all the features.
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