brcobranca 6.2.0 → 6.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/brcobranca/boleto/sicoob.rb +5 -5
- data/lib/brcobranca/version.rb +1 -1
- data/spec/brcobranca/boleto/sicoob_spec.rb +45 -33
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fcdfeb86d0f6e325d51ad87e842128e8b3c1075f
|
4
|
+
data.tar.gz: 60bd85312d7208e93c799cbce784491df01bed9e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5c289de69dee49ddb9fbfd030a105cec8c7b5b151d0e11bde0ec02aa9dddd70749c59b3c848a131d01e5bc572a8314d16c60123dab6762244fd907f102e3f773
|
7
|
+
data.tar.gz: 2d4bf481a2b1379ca8a1b559660def201e347148137f15802621c14ce336d93a73a9441006f409e13214e71990c765519a69b872df1783dc32213b06e1e4482b
|
data/Gemfile.lock
CHANGED
@@ -4,7 +4,7 @@ module Brcobranca
|
|
4
4
|
class Sicoob < Base # Sicoob (Bancoob)
|
5
5
|
validates_length_of :agencia, maximum: 4, message: "deve ser menor ou igual a 4 dígitos."
|
6
6
|
validates_length_of :conta_corrente, maximum: 8, message: "deve ser menor ou igual a 8 dígitos."
|
7
|
-
validates_length_of :numero_documento, maximum:
|
7
|
+
validates_length_of :numero_documento, maximum: 7, message: "deve ser menor ou igual a 7 dígitos."
|
8
8
|
validates_length_of :convenio, maximum: 7, message: 'deve ser menor ou igual a 7 dígitos.'
|
9
9
|
validates_length_of :variacao, maximum: 2, message: 'deve ser menor ou igual a 2 dígitos.'
|
10
10
|
validates_length_of :quantidade, maximum: 3, message: 'deve ser menor ou igual a 3 dígitos.'
|
@@ -44,9 +44,9 @@ module Brcobranca
|
|
44
44
|
|
45
45
|
# Número documento
|
46
46
|
#
|
47
|
-
# @return [String]
|
47
|
+
# @return [String] 7 caracteres numéricos.
|
48
48
|
def numero_documento=(valor)
|
49
|
-
@numero_documento = valor.to_s.rjust(
|
49
|
+
@numero_documento = valor.to_s.rjust(7, "0") if valor
|
50
50
|
end
|
51
51
|
|
52
52
|
# Quantidade
|
@@ -92,7 +92,7 @@ module Brcobranca
|
|
92
92
|
# Ex.: 11 – 3 = 8, então Nosso Número + DV = 21-8
|
93
93
|
#
|
94
94
|
def nosso_numero_dv
|
95
|
-
"#{agencia}#{convenio}#{numero_documento}".modulo11(
|
95
|
+
"#{agencia}#{convenio.rjust(10, "0")}#{numero_documento}".modulo11(
|
96
96
|
multiplicador: [3, 1, 9, 7],
|
97
97
|
mapeamento: { 1 => 0, 10 => 0, 11 => 0 }
|
98
98
|
) { |t| 11 - (t % 11) }
|
@@ -110,7 +110,7 @@ module Brcobranca
|
|
110
110
|
# 34 a 41 08 Nosso número do boleto
|
111
111
|
# 41 a 44 03 Número da parcela a que o boleto se refere - "001" se parcela única
|
112
112
|
def codigo_barras_segunda_parte
|
113
|
-
"#{carteira}#{agencia}#{variacao}#{convenio}#{
|
113
|
+
"#{carteira}#{agencia}#{variacao}#{convenio}#{nosso_numero_boleto}#{quantidade}"
|
114
114
|
end
|
115
115
|
end
|
116
116
|
end
|
data/lib/brcobranca/version.rb
CHANGED
@@ -2,22 +2,22 @@
|
|
2
2
|
require "spec_helper"
|
3
3
|
|
4
4
|
RSpec.describe Brcobranca::Boleto::Sicoob do #:nodoc:[all]
|
5
|
-
|
6
|
-
|
7
|
-
data_documento: Date.parse("
|
8
|
-
data_vencimento: Date.parse("
|
5
|
+
let(:valid_attributes) {
|
6
|
+
{
|
7
|
+
data_documento: Date.parse("2016-02-16"),
|
8
|
+
data_vencimento: Date.parse("2016-02-18"),
|
9
9
|
aceite: "N",
|
10
|
-
valor:
|
10
|
+
valor: 50.0,
|
11
11
|
cedente: "Kivanio Barbosa",
|
12
12
|
documento_cedente: "12345678912",
|
13
13
|
sacado: "Claudio Pozzebom",
|
14
14
|
sacado_documento: "12345678900",
|
15
|
-
agencia: "
|
15
|
+
agencia: "4327",
|
16
16
|
conta_corrente: "417270",
|
17
|
-
convenio:
|
18
|
-
numero_documento: "
|
17
|
+
convenio: '229385',
|
18
|
+
numero_documento: "2"
|
19
19
|
}
|
20
|
-
|
20
|
+
}
|
21
21
|
|
22
22
|
it "Criar nova instancia com atributos padrões" do
|
23
23
|
boleto_novo = described_class.new
|
@@ -38,26 +38,26 @@ RSpec.describe Brcobranca::Boleto::Sicoob do #:nodoc:[all]
|
|
38
38
|
end
|
39
39
|
|
40
40
|
it "Criar nova instancia com atributos válidos" do
|
41
|
-
boleto_novo = described_class.new(
|
41
|
+
boleto_novo = described_class.new(valid_attributes)
|
42
42
|
expect(boleto_novo.banco).to eql("756")
|
43
43
|
expect(boleto_novo.especie_documento).to eql("DM")
|
44
44
|
expect(boleto_novo.especie).to eql("R$")
|
45
45
|
expect(boleto_novo.moeda).to eql("9")
|
46
|
-
expect(boleto_novo.data_documento).to eql(Date.parse("
|
47
|
-
expect(boleto_novo.data_vencimento).to eql(Date.parse("
|
46
|
+
expect(boleto_novo.data_documento).to eql(Date.parse("2016-02-16"))
|
47
|
+
expect(boleto_novo.data_vencimento).to eql(Date.parse("2016-02-18"))
|
48
48
|
expect(boleto_novo.aceite).to eql("N")
|
49
49
|
expect(boleto_novo.quantidade).to eql("001")
|
50
|
-
expect(boleto_novo.valor).to eql(
|
51
|
-
expect(boleto_novo.valor_documento).to eql(
|
50
|
+
expect(boleto_novo.valor).to eql(50.0)
|
51
|
+
expect(boleto_novo.valor_documento).to eql(50.0)
|
52
52
|
expect(boleto_novo.local_pagamento).to eql("QUALQUER BANCO ATÉ O VENCIMENTO")
|
53
53
|
expect(boleto_novo.cedente).to eql("Kivanio Barbosa")
|
54
54
|
expect(boleto_novo.documento_cedente).to eql("12345678912")
|
55
55
|
expect(boleto_novo.sacado).to eql("Claudio Pozzebom")
|
56
56
|
expect(boleto_novo.sacado_documento).to eql("12345678900")
|
57
57
|
expect(boleto_novo.conta_corrente).to eql("0417270")
|
58
|
-
expect(boleto_novo.agencia).to eql("
|
59
|
-
expect(boleto_novo.convenio).to eql("
|
60
|
-
expect(boleto_novo.numero_documento).to eql("
|
58
|
+
expect(boleto_novo.agencia).to eql("4327")
|
59
|
+
expect(boleto_novo.convenio).to eql("0229385")
|
60
|
+
expect(boleto_novo.numero_documento).to eql("0000002")
|
61
61
|
expect(boleto_novo.carteira).to eql("1")
|
62
62
|
expect(boleto_novo.codigo_servico).to be_falsey
|
63
63
|
end
|
@@ -69,9 +69,33 @@ RSpec.describe Brcobranca::Boleto::Sicoob do #:nodoc:[all]
|
|
69
69
|
end
|
70
70
|
|
71
71
|
it "Montar agencia_conta_boleto" do
|
72
|
-
boleto_novo = described_class.new(
|
72
|
+
boleto_novo = described_class.new(valid_attributes)
|
73
|
+
|
74
|
+
expect(boleto_novo.agencia_conta_boleto).to eql("4327 / 0229385")
|
75
|
+
end
|
76
|
+
|
77
|
+
it "Montar nosso numero dv" do
|
78
|
+
valid_attributes[:numero_documento] = "1"
|
79
|
+
boleto_novo = described_class.new(valid_attributes)
|
80
|
+
expect(boleto_novo.nosso_numero_dv).to eql(7)
|
81
|
+
|
82
|
+
valid_attributes[:numero_documento] = "2"
|
83
|
+
boleto_novo = described_class.new(valid_attributes)
|
84
|
+
expect(boleto_novo.nosso_numero_dv).to eql(4)
|
85
|
+
|
86
|
+
valid_attributes[:numero_documento] = "7"
|
87
|
+
boleto_novo = described_class.new(valid_attributes)
|
88
|
+
expect(boleto_novo.nosso_numero_dv).to eql(0)
|
89
|
+
end
|
90
|
+
|
91
|
+
|
92
|
+
it 'Montar código de barras' do
|
93
|
+
boleto_novo = described_class.new(valid_attributes)
|
94
|
+
|
95
|
+
expect(boleto_novo.codigo_barras.linha_digitavel).to eql('75691.43279 01022.938508 00000.240010 2 67080000005000')
|
96
|
+
expect(boleto_novo.codigo_barras_segunda_parte).to eql('1432701022938500000024001')
|
97
|
+
expect(boleto_novo.codigo_barras_segunda_parte.size).to eql(25)
|
73
98
|
|
74
|
-
expect(boleto_novo.agencia_conta_boleto).to eql("3007 / 0318957")
|
75
99
|
end
|
76
100
|
|
77
101
|
describe 'Busca logotipo do banco' do
|
@@ -79,13 +103,7 @@ RSpec.describe Brcobranca::Boleto::Sicoob do #:nodoc:[all]
|
|
79
103
|
end
|
80
104
|
|
81
105
|
it "Gerar boleto nos formatos válidos com método to_" do
|
82
|
-
|
83
|
-
@valid_attributes[:data_documento] = Date.parse("2008-02-01")
|
84
|
-
@valid_attributes[:data_vencimento] = Date.parse('2008-02-03')
|
85
|
-
@valid_attributes[:convenio] = 1_238_798
|
86
|
-
@valid_attributes[:numero_documento] = "240"
|
87
|
-
|
88
|
-
boleto_novo = described_class.new(@valid_attributes)
|
106
|
+
boleto_novo = described_class.new(valid_attributes)
|
89
107
|
|
90
108
|
%w(pdf jpg tif png).each do |format|
|
91
109
|
file_body = boleto_novo.send("to_#{format}".to_sym)
|
@@ -101,13 +119,7 @@ RSpec.describe Brcobranca::Boleto::Sicoob do #:nodoc:[all]
|
|
101
119
|
end
|
102
120
|
|
103
121
|
it "Gerar boleto nos formatos válidos" do
|
104
|
-
|
105
|
-
@valid_attributes[:data_documento] = Date.parse("2008-02-01")
|
106
|
-
@valid_attributes[:data_vencimento] = Date.parse('2008-02-03')
|
107
|
-
@valid_attributes[:convenio] = 1_238_798
|
108
|
-
@valid_attributes[:numero_documento] = "240"
|
109
|
-
|
110
|
-
boleto_novo = described_class.new(@valid_attributes)
|
122
|
+
boleto_novo = described_class.new(valid_attributes)
|
111
123
|
|
112
124
|
%w(pdf jpg tif png).each do |format|
|
113
125
|
file_body = boleto_novo.to(format)
|