br_boleto 2.2.2 → 2.2.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/br_boleto/boleto/base.rb +23 -0
- data/lib/br_boleto/boleto/bradesco.rb +6 -0
- data/lib/br_boleto/boleto/itau.rb +6 -0
- data/lib/br_boleto/version.rb +1 -1
- data/test/br_boleto/boleto/base_test.rb +7 -0
- data/test/br_boleto/boleto/bradesco_test.rb +7 -0
- data/test/br_boleto/boleto/itau_test.rb +7 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: eb0e64f3266b753466757dc9edab8bbcf595c95b
|
4
|
+
data.tar.gz: 32673e61506c6363f45110cbc12fe1c42b080cd4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2845f01fd1c0c3e52eba462083925e6070c1d4dbb4e9f788edb40ec92e45a7a3fb2e02cea0b86438106de4a8b8ee5334d371c6120c1f0d49571bb3810335a8bc
|
7
|
+
data.tar.gz: e8974384f70e3b42758900906696bec80f79102aefb73c8c02b2163acd6f11fecc27762cce020d184e6044eeff7afc4171c330ea2fa0ffca737ea187f8f599bd
|
@@ -176,6 +176,29 @@ module BrBoleto
|
|
176
176
|
raise NotImplementedError.new("Not implemented #nosso_numero in #{self}.")
|
177
177
|
end
|
178
178
|
|
179
|
+
# Esse método deve ser utilizado para salvar o nosso número que
|
180
|
+
# será retornado no arquivo de retorno.
|
181
|
+
# Foi necessário fazer esse método pois alguns bancos como o
|
182
|
+
# Bradesco e Itaú desconsideram o número da carteira no retorno,
|
183
|
+
# porém a carteira deve ser apresentada no boleto.
|
184
|
+
# Com o bjetivo de facilitar o desenvolvimento para não fazer essa
|
185
|
+
# regra da aplicação, foi desenvolvido esse método para que seja
|
186
|
+
# salvo o valor desse método na aplicação para que posteriormente
|
187
|
+
# a conciliação dos boletos funcione adecuadamente.
|
188
|
+
#
|
189
|
+
# Por padrão retorna os núemros e letras do nosso número, na qual
|
190
|
+
# é utilizada para a maioria dos bancos.
|
191
|
+
# Deve ser sobrescrito para os bancos que utilizam de forma diferente.
|
192
|
+
#
|
193
|
+
# O retorno é uma string pois em alguns bancos o DV do nosso número
|
194
|
+
# pode ser uma Letra.
|
195
|
+
#
|
196
|
+
# @return [String] 999999999 OR 999999999X
|
197
|
+
#
|
198
|
+
def nosso_numero_retorno
|
199
|
+
"#{nosso_numero}".gsub(/[^\w\d]/i, '')
|
200
|
+
end
|
201
|
+
|
179
202
|
# Formata o valor do documentado para ser mostrado no código de barras
|
180
203
|
# e na linha digitável com 08 dígitos na casa dos Reais e 02 dígitos nas casas dos centavos.
|
181
204
|
#
|
@@ -52,6 +52,12 @@ module BrBoleto
|
|
52
52
|
"#{conta.carteira}/#{numero_documento}-#{digito_verificador_nosso_numero}"
|
53
53
|
end
|
54
54
|
|
55
|
+
# No arquivo de retorno a carteira não vem junto com o nosso núemro
|
56
|
+
#
|
57
|
+
def nosso_numero_retorno
|
58
|
+
"#{nosso_numero}".gsub(/[^\w\d]/i, '')[2..-1]
|
59
|
+
end
|
60
|
+
|
55
61
|
# Para o cálculo do dígito, será necessário acrescentar o número da carteira à esquerda
|
56
62
|
# antes do Nosso Número (número do documento), e aplicar o módulo 11, com fatores de 2 a 7.
|
57
63
|
# @return [String] Retorno do cálculo do módulo 11 na base 7 (2,3,4,5,6,7)
|
@@ -51,6 +51,12 @@ module BrBoleto
|
|
51
51
|
def nosso_numero
|
52
52
|
"#{conta.carteira}/#{numero_documento}-#{digito_verificador_nosso_numero}"
|
53
53
|
end
|
54
|
+
|
55
|
+
# No arquivo de retorno a carteira não vem junto com o nosso núemro
|
56
|
+
#
|
57
|
+
def nosso_numero_retorno
|
58
|
+
"#{nosso_numero}".gsub(/[^\w\d]/i, '')[3..-1]
|
59
|
+
end
|
54
60
|
|
55
61
|
# Para a grande maioria das carteiras, são considerados para a obtenção do dígito do nosso número,
|
56
62
|
# os dados “AGÊNCIA / CONTA (sem dígito) / CARTEIRA / NOSSO NÚMERO”, calculado pelo critério do Módulo 10.
|
data/lib/br_boleto/version.rb
CHANGED
@@ -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 = 2 #inclui novas funcionalidades, sem quebrar APIs existentes
|
5
|
-
PATCH =
|
5
|
+
PATCH = 3 #corrige bugs ou traz melhorias em implementações já existentes
|
6
6
|
CURRENT = "#{MAJOR}.#{MINOR}.#{PATCH}"
|
7
7
|
end
|
8
8
|
end
|
@@ -240,4 +240,11 @@ describe BrBoleto::Boleto::Base do
|
|
240
240
|
subject.codigo_de_barras_do_banco
|
241
241
|
end
|
242
242
|
end
|
243
|
+
|
244
|
+
describe '#nosso_numero_retorno' do
|
245
|
+
it "deve retornar os números e letras encontrados no nosso_numero" do
|
246
|
+
subject.expects(:nosso_numero).returns(' 01/200000000365-X')
|
247
|
+
subject.nosso_numero_retorno.must_equal '01200000000365X'
|
248
|
+
end
|
249
|
+
end
|
243
250
|
end
|
@@ -65,6 +65,13 @@ describe BrBoleto::Boleto::Bradesco do
|
|
65
65
|
end
|
66
66
|
end
|
67
67
|
|
68
|
+
describe '#nosso_numero_retorno' do
|
69
|
+
it "deve pegar o valor do nosso_numero desconsiderando a carteira" do
|
70
|
+
subject.expects(:nosso_numero).returns('21/00000003646-9')
|
71
|
+
subject.nosso_numero_retorno.must_equal '000000036469'
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
68
75
|
describe "#codigo_de_barras_do_banco" do
|
69
76
|
subject do
|
70
77
|
FactoryGirl.build(:boleto_bradesco, conta: {
|
@@ -73,6 +73,13 @@ describe BrBoleto::Boleto::Itau do
|
|
73
73
|
end
|
74
74
|
end
|
75
75
|
|
76
|
+
describe '#nosso_numero_retorno' do
|
77
|
+
it "deve pegar o valor do nosso_numero desconsiderando a carteira" do
|
78
|
+
subject.expects(:nosso_numero).returns('109/00003646-9')
|
79
|
+
subject.nosso_numero_retorno.must_equal '000036469'
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
76
83
|
describe "#codigo_de_barras_do_banco (com as carteiras especiais de cobrança 107, 122, 142, 143, 196 e 198)" do
|
77
84
|
subject do
|
78
85
|
FactoryGirl.build(:boleto_itau, conta: {
|
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.2.
|
4
|
+
version: 2.2.3
|
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: 2017-01-
|
11
|
+
date: 2017-01-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|