brcobranca 6.7.0 → 6.8.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: d4c1d2ca76237e4dcd2b446897870da4ea888a2e
4
- data.tar.gz: ec2c9d2ea89c72cb75f881ed66d4eeffa019e195
3
+ metadata.gz: 6384ab9e89d07cd0d51a0fdea4b72d9337eb9e7d
4
+ data.tar.gz: dbf7cdb133ff2f98c844a75a7f1c3b7515315c10
5
5
  SHA512:
6
- metadata.gz: 23baaf03bb009d26e1249d302498608bbba53e61e2289e3fe667643dd563a50915f3fac33556e4399f43e3a7f43abb6b37645dbe8b12e5d3e2ae97d274f66179
7
- data.tar.gz: a78c9ce561e55d5722877661602945506b56a2b3d0cbb212c10670c0a166dc6464fa6d543bf2f6e28009441f4068dd015d2d46d43e85d9442172483599dd17e7
6
+ metadata.gz: 6db33d48ef3fe1aadfbb4c9a1abba4372c9185712893455b9f33bf8b585e38fa036ee015ff17de787b231c0550c06e014f0c2971e0db9e596aa7911801d7ebc4
7
+ data.tar.gz: 5d15d334a8cb7b6653ea63da7ad0e6aeaa3def6b177b4034f528c864cf8b6917509b16461a200c16c416e2a3fa19a75fce63c48f21ce328b4ee940991820b83f
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.3.1
1
+ 2.3.0
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- brcobranca (6.7.0)
4
+ brcobranca (6.8.0)
5
5
  activemodel (>= 3)
6
6
  activesupport (>= 3)
7
7
  parseline (~> 1.0.3)
@@ -12,9 +12,9 @@ PATH
12
12
  GEM
13
13
  remote: https://rubygems.org/
14
14
  specs:
15
- activemodel (5.0.0)
16
- activesupport (= 5.0.0)
17
- activesupport (5.0.0)
15
+ activemodel (5.0.0.1)
16
+ activesupport (= 5.0.0.1)
17
+ activesupport (5.0.0.1)
18
18
  concurrent-ruby (~> 1.0, >= 1.0.2)
19
19
  i18n (~> 0.7)
20
20
  minitest (~> 5.1)
@@ -35,9 +35,9 @@ GEM
35
35
  i18n (0.7.0)
36
36
  json (2.0.2)
37
37
  method_source (0.8.2)
38
- minitest (5.9.0)
38
+ minitest (5.9.1)
39
39
  parseline (1.0.3)
40
- parser (2.3.1.2)
40
+ parser (2.3.1.4)
41
41
  ast (~> 2.2)
42
42
  powerpack (0.1.1)
43
43
  pry (0.10.4)
@@ -45,14 +45,14 @@ GEM
45
45
  method_source (~> 0.8.1)
46
46
  slop (~> 3.4)
47
47
  rainbow (2.1.0)
48
- rake (11.2.2)
48
+ rake (11.3.0)
49
49
  rghost (0.9.6)
50
50
  rghost_barcode (0.9)
51
51
  rspec (3.5.0)
52
52
  rspec-core (~> 3.5.0)
53
53
  rspec-expectations (~> 3.5.0)
54
54
  rspec-mocks (~> 3.5.0)
55
- rspec-core (3.5.2)
55
+ rspec-core (3.5.4)
56
56
  rspec-support (~> 3.5.0)
57
57
  rspec-expectations (3.5.0)
58
58
  diff-lcs (>= 1.2.0, < 2.0)
@@ -61,14 +61,14 @@ GEM
61
61
  diff-lcs (>= 1.2.0, < 2.0)
62
62
  rspec-support (~> 3.5.0)
63
63
  rspec-support (3.5.0)
64
- rubocop (0.42.0)
64
+ rubocop (0.43.0)
65
65
  parser (>= 2.3.1.1, < 3.0)
66
66
  powerpack (~> 0.1)
67
67
  rainbow (>= 1.99.1, < 3.0)
68
68
  ruby-progressbar (~> 1.7)
69
69
  unicode-display_width (~> 1.0, >= 1.0.1)
70
- rubocop-rspec (1.5.1)
71
- rubocop (>= 0.41.2)
70
+ rubocop-rspec (1.7.0)
71
+ rubocop (>= 0.42.0)
72
72
  ruby-progressbar (1.8.1)
73
73
  simplecov (0.12.0)
74
74
  docile (~> 1.1.0)
@@ -76,15 +76,15 @@ GEM
76
76
  simplecov-html (~> 0.10.0)
77
77
  simplecov-html (0.10.0)
78
78
  slop (3.6.0)
79
- term-ansicolor (1.3.2)
79
+ term-ansicolor (1.4.0)
80
80
  tins (~> 1.0)
81
81
  thor (0.19.1)
82
82
  thread_safe (0.3.5)
83
83
  timecop (0.8.1)
84
- tins (1.11.0)
84
+ tins (1.12.0)
85
85
  tzinfo (1.2.2)
86
86
  thread_safe (~> 0.1)
87
- unicode-display_width (1.1.0)
87
+ unicode-display_width (1.1.1)
88
88
  unidecoder (1.1.2)
89
89
 
90
90
  PLATFORMS
@@ -57,7 +57,7 @@ module Brcobranca
57
57
 
58
58
  def nosso_numero_dv
59
59
  numero_dv_1 = numero_documento.modulo11(mapeamento: { 10 => 0, 11 => 0 })
60
- numero_dv_2 = "#{numero_documento}#{numero_dv_1}".modulo11
60
+ numero_dv_2 = "#{numero_documento}#{numero_dv_1}".modulo11(mapeamento: { 10 => 0, 11 => 0 })
61
61
 
62
62
  "#{numero_dv_1}#{numero_dv_2}"
63
63
  end
@@ -50,6 +50,12 @@ module Brcobranca
50
50
  # <b>OPCIONAL</b>: Código utilizado para identificar o tipo de serviço cobrado
51
51
  attr_accessor :codigo_servico
52
52
  # <b>OPCIONAL</b>: Utilizado para mostrar alguma informação ao sacado
53
+ attr_accessor :demonstrativo1
54
+ # <b>OPCIONAL</b>: Utilizado para mostrar alguma informação ao sacado
55
+ attr_accessor :demonstrativo2
56
+ # <b>OPCIONAL</b>: Utilizado para mostrar alguma informação ao sacado
57
+ attr_accessor :demonstrativo3
58
+ # <b>OPCIONAL</b>: Utilizado para mostrar alguma informação ao sacado
53
59
  attr_accessor :instrucao1
54
60
  # <b>OPCIONAL</b>: Utilizado para mostrar alguma informação ao sacado
55
61
  attr_accessor :instrucao2
@@ -81,7 +87,7 @@ module Brcobranca
81
87
  attr_accessor :cedente_endereco
82
88
 
83
89
  # Validações
84
- validates_presence_of :agencia, :conta_corrente, :moeda, :especie_documento, :especie, :aceite, :numero_documento, message: 'não pode estar em branco.'
90
+ validates_presence_of :agencia, :conta_corrente, :moeda, :especie_documento, :especie, :aceite, :numero_documento, :sacado, :sacado_documento, message: 'não pode estar em branco.'
85
91
  validates_numericality_of :convenio, :agencia, :conta_corrente, :numero_documento, message: 'não é um número.', allow_nil: true
86
92
 
87
93
  # Nova instancia da classe Base
@@ -159,6 +159,12 @@ module Brcobranca
159
159
  doc.show "#{boleto.sacado} - #{boleto.sacado_documento.formata_documento}"
160
160
  doc.moveto x: '1.5 cm', y: '20.6 cm'
161
161
  doc.show "#{boleto.sacado_endereco}"
162
+ doc.moveto x: '0.7 cm', y: '19.8 cm'
163
+ doc.show boleto.demonstrativo1
164
+ doc.moveto x: '0.7 cm', y: '19.4 cm'
165
+ doc.show boleto.demonstrativo2
166
+ doc.moveto x: '0.7 cm', y: '19.0 cm'
167
+ doc.show boleto.demonstrativo3
162
168
  # FIM Primeira parte do BOLETO
163
169
  end
164
170
 
@@ -1,5 +1,5 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
 
3
3
  module Brcobranca
4
- VERSION = '6.7.0'
4
+ VERSION = '6.8.0'
5
5
  end
@@ -76,7 +76,7 @@ RSpec.describe Brcobranca::Boleto::BancoNordeste do #:nodoc:[all]
76
76
  it 'Não permitir gerar boleto com atributos inválido' do
77
77
  boleto_novo = described_class.new
78
78
  expect { boleto_novo.codigo_barras }.to raise_error(Brcobranca::BoletoInvalido)
79
- expect(boleto_novo.errors.count).to eql(3)
79
+ expect(boleto_novo.errors.count).to eql(5)
80
80
  end
81
81
 
82
82
  it 'Montar nosso_numero_dv' do
@@ -60,7 +60,37 @@ RSpec.describe Brcobranca::Boleto::Banestes do #:nodoc:[all]
60
60
  it "Não permitir gerar boleto com atributos inválido" do
61
61
  boleto_novo = described_class.new
62
62
  expect { boleto_novo.codigo_barras }.to raise_error(Brcobranca::BoletoInvalido)
63
- expect(boleto_novo.errors.count).to eql(3)
63
+ expect(boleto_novo.errors.count).to eql(5)
64
+ end
65
+
66
+ it "Montar nosso_numero_boleto" do
67
+ valid_attributes[:numero_documento] = "00000337"
68
+ boleto_novo = described_class.new(valid_attributes)
69
+ expect(boleto_novo.nosso_numero_boleto).to eql("00000337-90")
70
+
71
+ valid_attributes[:numero_documento] = "96656701"
72
+ boleto_novo = described_class.new(valid_attributes)
73
+ expect(boleto_novo.nosso_numero_boleto).to eql("96656701-37")
74
+
75
+ valid_attributes[:numero_documento] = "00000484"
76
+ boleto_novo = described_class.new(valid_attributes)
77
+ expect(boleto_novo.nosso_numero_boleto).to eql("00000484-70")
78
+
79
+ valid_attributes[:numero_documento] = "514"
80
+ boleto_novo = described_class.new(valid_attributes)
81
+ expect(boleto_novo.nosso_numero_boleto).to eql("00000514-20")
82
+
83
+ valid_attributes[:numero_documento] = "565"
84
+ boleto_novo = described_class.new(valid_attributes)
85
+ expect(boleto_novo.nosso_numero_boleto).to eql("00000565-70")
86
+
87
+ valid_attributes[:numero_documento] = "573"
88
+ boleto_novo = described_class.new(valid_attributes)
89
+ expect(boleto_novo.nosso_numero_boleto).to eql("00000573-80")
90
+
91
+ valid_attributes[:numero_documento] = "00000603"
92
+ boleto_novo = described_class.new(valid_attributes)
93
+ expect(boleto_novo.nosso_numero_boleto).to eql("00000603-30")
64
94
  end
65
95
 
66
96
  it "Montar agencia_conta_boleto" do
@@ -87,7 +87,7 @@ RSpec.describe Brcobranca::Boleto::Bradesco do
87
87
  it 'Não permitir gerar boleto com atributos inválido' do
88
88
  boleto_novo = described_class.new
89
89
  expect { boleto_novo.codigo_barras }.to raise_error(Brcobranca::BoletoInvalido)
90
- expect(boleto_novo.errors.count).to eql(3)
90
+ expect(boleto_novo.errors.count).to eql(5)
91
91
  end
92
92
 
93
93
  it 'Montar nosso_numero_boleto' do
@@ -82,7 +82,7 @@ RSpec.describe Brcobranca::Boleto::Hsbc do
82
82
  it 'Não permitir gerar boleto com atributos inválido' do
83
83
  boleto_novo = described_class.new
84
84
  expect { boleto_novo.codigo_barras }.to raise_error(Brcobranca::BoletoInvalido)
85
- expect(boleto_novo.errors.count).to eql(3)
85
+ expect(boleto_novo.errors.count).to eql(5)
86
86
  end
87
87
 
88
88
  it 'Montar nosso número' do
@@ -123,7 +123,7 @@ RSpec.describe Brcobranca::Boleto::Itau do
123
123
  it 'Não permitir gerar boleto com atributos inválido' do
124
124
  boleto_novo = described_class.new
125
125
  expect { boleto_novo.codigo_barras }.to raise_error(Brcobranca::BoletoInvalido)
126
- expect(boleto_novo.errors.count).to eql(3)
126
+ expect(boleto_novo.errors.count).to eql(5)
127
127
  end
128
128
 
129
129
  it 'Montar agencia_conta_corrente_dv' do
@@ -76,7 +76,7 @@ RSpec.describe Brcobranca::Boleto::Santander do
76
76
  it 'Não permitir gerar boleto com atributos inválido' do
77
77
  boleto_novo = described_class.new
78
78
  expect { boleto_novo.codigo_barras }.to raise_error(Brcobranca::BoletoInvalido)
79
- expect(boleto_novo.errors.count).to eql(3)
79
+ expect(boleto_novo.errors.count).to eql(5)
80
80
  end
81
81
 
82
82
  it 'Montar nosso_numero_dv' do
@@ -65,7 +65,7 @@ RSpec.describe Brcobranca::Boleto::Sicoob do #:nodoc:[all]
65
65
  it "Não permitir gerar boleto com atributos inválido" do
66
66
  boleto_novo = described_class.new
67
67
  expect { boleto_novo.codigo_barras }.to raise_error(Brcobranca::BoletoInvalido)
68
- expect(boleto_novo.errors.count).to eql(3)
68
+ expect(boleto_novo.errors.count).to eql(5)
69
69
  end
70
70
 
71
71
  it "Montar agencia_conta_boleto" do
@@ -82,23 +82,23 @@ RSpec.describe Brcobranca::Boleto::Sicoob do #:nodoc:[all]
82
82
  valid_attributes[:numero_documento] = "2"
83
83
  boleto_novo = described_class.new(valid_attributes)
84
84
  expect(boleto_novo.nosso_numero_dv).to eql(4)
85
-
85
+
86
86
  valid_attributes[:numero_documento] = "3"
87
87
  boleto_novo = described_class.new(valid_attributes)
88
88
  expect(boleto_novo.nosso_numero_dv).to eql(1)
89
-
89
+
90
90
  valid_attributes[:numero_documento] = "4"
91
91
  boleto_novo = described_class.new(valid_attributes)
92
92
  expect(boleto_novo.nosso_numero_dv).to eql(9)
93
-
93
+
94
94
  valid_attributes[:numero_documento] = "5"
95
95
  boleto_novo = described_class.new(valid_attributes)
96
96
  expect(boleto_novo.nosso_numero_dv).to eql(6)
97
-
97
+
98
98
  valid_attributes[:numero_documento] = "6"
99
99
  boleto_novo = described_class.new(valid_attributes)
100
100
  expect(boleto_novo.nosso_numero_dv).to eql(3)
101
-
101
+
102
102
  valid_attributes[:numero_documento] = "7"
103
103
  boleto_novo = described_class.new(valid_attributes)
104
104
  expect(boleto_novo.nosso_numero_dv).to eql(0)
@@ -106,30 +106,30 @@ RSpec.describe Brcobranca::Boleto::Sicoob do #:nodoc:[all]
106
106
  valid_attributes[:numero_documento] = "8"
107
107
  boleto_novo = described_class.new(valid_attributes)
108
108
  expect(boleto_novo.nosso_numero_dv).to eql(8)
109
-
109
+
110
110
  valid_attributes[:numero_documento] = "9"
111
111
  boleto_novo = described_class.new(valid_attributes)
112
112
  expect(boleto_novo.nosso_numero_dv).to eql(5)
113
-
113
+
114
114
  valid_attributes[:numero_documento] = "10"
115
115
  boleto_novo = described_class.new(valid_attributes)
116
116
  expect(boleto_novo.nosso_numero_dv).to eql(3)
117
-
117
+
118
118
  valid_attributes[:numero_documento] = "11"
119
119
  boleto_novo = described_class.new(valid_attributes)
120
120
  expect(boleto_novo.nosso_numero_dv).to eql(0)
121
-
121
+
122
122
  valid_attributes[:numero_documento] = "12"
123
123
  boleto_novo = described_class.new(valid_attributes)
124
124
  expect(boleto_novo.nosso_numero_dv).to eql(8)
125
-
125
+
126
126
  valid_attributes[:numero_documento] = "13"
127
127
  boleto_novo = described_class.new(valid_attributes)
128
128
  expect(boleto_novo.nosso_numero_dv).to eql(5)
129
129
  end
130
130
 
131
131
 
132
- it 'Montar código de barras' do
132
+ it 'Montar código de barras modalidade 01' do
133
133
  boleto_novo = described_class.new(valid_attributes)
134
134
 
135
135
  expect(boleto_novo.codigo_barras.linha_digitavel).to eql('75691.43279 01022.938508 00000.240010 2 67080000005000')
@@ -138,6 +138,23 @@ RSpec.describe Brcobranca::Boleto::Sicoob do #:nodoc:[all]
138
138
 
139
139
  end
140
140
 
141
+ it 'Montar código de barras modalidade 05' do
142
+ valid_attributes[:data_documento] = Date.parse("2017-04-15")
143
+ valid_attributes[:data_vencimento] = Date.parse("2017-04-15")
144
+ valid_attributes[:valor] = 235.00
145
+ valid_attributes[:agencia] = "4134"
146
+ valid_attributes[:conta_corrente] = "10333"
147
+ valid_attributes[:convenio] = "148180"
148
+ valid_attributes[:numero_documento] = "110"
149
+ valid_attributes[:variacao] = "05"
150
+
151
+ boleto_novo = described_class.new(valid_attributes)
152
+
153
+ expect(boleto_novo.codigo_barras.linha_digitavel).to eql('75691.41349 05014.818008 00011.040011 4 71300000023500')
154
+ expect(boleto_novo.codigo_barras_segunda_parte).to eql('1413405014818000001104001')
155
+ expect(boleto_novo.codigo_barras_segunda_parte.size).to eql(25)
156
+ end
157
+
141
158
  describe 'Busca logotipo do banco' do
142
159
  it_behaves_like 'busca_logotipo'
143
160
  end
@@ -118,7 +118,7 @@ RSpec.describe Brcobranca::Boleto::Sicredi do
118
118
  it 'Não permitir gerar boleto com atributos inválido' do
119
119
  boleto_novo = described_class.new
120
120
  expect { boleto_novo.codigo_barras }.to raise_error(Brcobranca::BoletoInvalido)
121
- expect(boleto_novo.errors.count).to eql(4)
121
+ expect(boleto_novo.errors.count).to eql(6)
122
122
  end
123
123
 
124
124
  it 'Montar nosso_numero_boleto' do
@@ -80,7 +80,7 @@ RSpec.describe Brcobranca::Boleto::Unicred do
80
80
  it 'Não permitir gerar boleto com atributos inválido' do
81
81
  boleto_novo = described_class.new
82
82
  expect { boleto_novo.codigo_barras }.to raise_error(Brcobranca::BoletoInvalido)
83
- expect(boleto_novo.errors.count).to eql(4)
83
+ expect(boleto_novo.errors.count).to eql(6)
84
84
  end
85
85
 
86
86
  it 'Montar nosso_numero_boleto' do
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: 6.7.0
4
+ version: 6.8.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: 2016-07-29 00:00:00.000000000 Z
11
+ date: 2016-10-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rghost
@@ -273,7 +273,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
273
273
  requirements:
274
274
  - GhostScript > 9.0, para gear PDF e código de Barras
275
275
  rubyforge_project:
276
- rubygems_version: 2.5.1
276
+ rubygems_version: 2.6.4
277
277
  signing_key:
278
278
  specification_version: 4
279
279
  summary: Gem que permite trabalhar com bloquetos de cobranca para bancos brasileiros.