br_boleto 2.2.2 → 2.2.3
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 +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
|