br_boleto 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/Gemfile +15 -0
- data/Gemfile.lock +145 -0
- data/History.txt +4 -0
- data/LICENSE +20 -0
- data/README.markdown +156 -0
- data/Rakefile +8 -0
- data/br_boleto.gemspec +26 -0
- data/lib/br_boleto.rb +87 -0
- data/lib/br_boleto/calculos/digitos.rb +35 -0
- data/lib/br_boleto/calculos/fator_vencimento.rb +129 -0
- data/lib/br_boleto/calculos/fatores_de_multiplicacao.rb +67 -0
- data/lib/br_boleto/calculos/linha_digitavel.rb +158 -0
- data/lib/br_boleto/calculos/modulo10.rb +83 -0
- data/lib/br_boleto/calculos/modulo11.rb +54 -0
- data/lib/br_boleto/calculos/modulo11_fator3197.rb +88 -0
- data/lib/br_boleto/calculos/modulo11_fator_de2a7.rb +97 -0
- data/lib/br_boleto/calculos/modulo11_fator_de2a9.rb +83 -0
- data/lib/br_boleto/calculos/modulo11_fator_de2a9_resto_zero.rb +29 -0
- data/lib/br_boleto/calculos/modulo11_fator_de9a2.rb +65 -0
- data/lib/br_boleto/calculos/modulo11_fator_de9a2_resto_x.rb +55 -0
- data/lib/br_boleto/calculos/modulo_numero_de_controle.rb +117 -0
- data/lib/br_boleto/core/boleto.rb +558 -0
- data/lib/br_boleto/core/sicoob.rb +169 -0
- data/lib/br_boleto/version.rb +8 -0
- data/test/br_boleto/calculos/digitos_test.rb +15 -0
- data/test/br_boleto/calculos/fator_vencimento_test.rb +56 -0
- data/test/br_boleto/calculos/fatores_de_multiplicacao_test.rb +66 -0
- data/test/br_boleto/calculos/linha_digitavel_test.rb +58 -0
- data/test/br_boleto/calculos/modulo10_test.rb +54 -0
- data/test/br_boleto/calculos/modulo11_fator3197_test.rb +43 -0
- data/test/br_boleto/calculos/modulo11_fator_de2a7_test.rb +44 -0
- data/test/br_boleto/calculos/modulo11_fator_de2a9_resto_zero_test.rb +40 -0
- data/test/br_boleto/calculos/modulo11_fator_de2a9_test.rb +68 -0
- data/test/br_boleto/calculos/modulo11_fator_de9a2_resto_x_test.rb +38 -0
- data/test/br_boleto/calculos/modulo11_fator_de9a2_test.rb +32 -0
- data/test/br_boleto/calculos/modulo11_test.rb +28 -0
- data/test/br_boleto/calculos/modulo_numero_de_controle_test.rb +38 -0
- data/test/br_boleto/core/boleto_test.rb +221 -0
- data/test/br_boleto/core/sicoob_test.rb +138 -0
- data/test/factories/boleto.rb +22 -0
- data/test/factories/boleto_sicoob.rb +23 -0
- data/test/inheritance/boleto_test.rb +15 -0
- data/test/inheritance/sicoob_test.rb +25 -0
- data/test/test_helper.rb +37 -0
- metadata +151 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 7779abe6dc0c653dd1e82299a4e9c89d2007e7c8
|
4
|
+
data.tar.gz: 95d6fe53fe8ffa6c007e682130176450df534c9b
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 035233e8e9c63da0579d77974df98b43cf9535bea8b184ff9ec94bcdfa865093bdffb3cbb766dd9b93a984fad0997e6c8da7fec02c3fb0afaf89eec915503bff
|
7
|
+
data.tar.gz: b38d7006eb7451b0a765e5d64d03466d33b4d484e12937aab3809a8a683531a0c3112c89bc5f69b9e2968430470885f48a62c0a75211239c0a4b041d16330004
|
data/Gemfile
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
source 'http://rubygems.org'
|
2
|
+
|
3
|
+
gemspec
|
4
|
+
|
5
|
+
group :test do
|
6
|
+
# gem "mocha", :require => false
|
7
|
+
gem "mocha", :require => false
|
8
|
+
gem "factory_girl_rails"
|
9
|
+
gem 'minitest-reporters'
|
10
|
+
gem 'minitest-rails'
|
11
|
+
gem 'minitest-spec-rails'
|
12
|
+
gem 'shoulda-matchers', require: false
|
13
|
+
gem "minitest-matchers_vaccine"
|
14
|
+
gem 'simplecov'
|
15
|
+
end
|
data/Gemfile.lock
ADDED
@@ -0,0 +1,145 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
br_boleto (0.1.0)
|
5
|
+
activemodel (>= 4.1)
|
6
|
+
activesupport (>= 4.1)
|
7
|
+
rake
|
8
|
+
|
9
|
+
GEM
|
10
|
+
remote: http://rubygems.org/
|
11
|
+
specs:
|
12
|
+
actionmailer (4.2.3)
|
13
|
+
actionpack (= 4.2.3)
|
14
|
+
actionview (= 4.2.3)
|
15
|
+
activejob (= 4.2.3)
|
16
|
+
mail (~> 2.5, >= 2.5.4)
|
17
|
+
rails-dom-testing (~> 1.0, >= 1.0.5)
|
18
|
+
actionpack (4.2.3)
|
19
|
+
actionview (= 4.2.3)
|
20
|
+
activesupport (= 4.2.3)
|
21
|
+
rack (~> 1.6)
|
22
|
+
rack-test (~> 0.6.2)
|
23
|
+
rails-dom-testing (~> 1.0, >= 1.0.5)
|
24
|
+
rails-html-sanitizer (~> 1.0, >= 1.0.2)
|
25
|
+
actionview (4.2.3)
|
26
|
+
activesupport (= 4.2.3)
|
27
|
+
builder (~> 3.1)
|
28
|
+
erubis (~> 2.7.0)
|
29
|
+
rails-dom-testing (~> 1.0, >= 1.0.5)
|
30
|
+
rails-html-sanitizer (~> 1.0, >= 1.0.2)
|
31
|
+
activejob (4.2.3)
|
32
|
+
activesupport (= 4.2.3)
|
33
|
+
globalid (>= 0.3.0)
|
34
|
+
activemodel (4.2.3)
|
35
|
+
activesupport (= 4.2.3)
|
36
|
+
builder (~> 3.1)
|
37
|
+
activerecord (4.2.3)
|
38
|
+
activemodel (= 4.2.3)
|
39
|
+
activesupport (= 4.2.3)
|
40
|
+
arel (~> 6.0)
|
41
|
+
activesupport (4.2.3)
|
42
|
+
i18n (~> 0.7)
|
43
|
+
json (~> 1.7, >= 1.7.7)
|
44
|
+
minitest (~> 5.1)
|
45
|
+
thread_safe (~> 0.3, >= 0.3.4)
|
46
|
+
tzinfo (~> 1.1)
|
47
|
+
ansi (1.5.0)
|
48
|
+
arel (6.0.2)
|
49
|
+
builder (3.2.2)
|
50
|
+
docile (1.1.5)
|
51
|
+
erubis (2.7.0)
|
52
|
+
factory_girl (4.5.0)
|
53
|
+
activesupport (>= 3.0.0)
|
54
|
+
factory_girl_rails (4.5.0)
|
55
|
+
factory_girl (~> 4.5.0)
|
56
|
+
railties (>= 3.0.0)
|
57
|
+
globalid (0.3.5)
|
58
|
+
activesupport (>= 4.1.0)
|
59
|
+
i18n (0.7.0)
|
60
|
+
json (1.8.3)
|
61
|
+
loofah (2.0.2)
|
62
|
+
nokogiri (>= 1.5.9)
|
63
|
+
mail (2.6.3)
|
64
|
+
mime-types (>= 1.16, < 3)
|
65
|
+
metaclass (0.0.4)
|
66
|
+
mime-types (2.6.1)
|
67
|
+
mini_portile (0.6.2)
|
68
|
+
minitest (5.7.0)
|
69
|
+
minitest-matchers_vaccine (1.0.3)
|
70
|
+
minitest (~> 5.0)
|
71
|
+
minitest-rails (2.2.0)
|
72
|
+
minitest (~> 5.7)
|
73
|
+
railties (~> 4.1)
|
74
|
+
minitest-reporters (1.0.19)
|
75
|
+
ansi
|
76
|
+
builder
|
77
|
+
minitest (>= 5.0)
|
78
|
+
ruby-progressbar
|
79
|
+
minitest-spec-rails (5.2.2)
|
80
|
+
minitest (~> 5.0)
|
81
|
+
rails (~> 4.1)
|
82
|
+
mocha (1.1.0)
|
83
|
+
metaclass (~> 0.0.1)
|
84
|
+
nokogiri (1.6.6.2)
|
85
|
+
mini_portile (~> 0.6.0)
|
86
|
+
rack (1.6.4)
|
87
|
+
rack-test (0.6.3)
|
88
|
+
rack (>= 1.0)
|
89
|
+
rails (4.2.3)
|
90
|
+
actionmailer (= 4.2.3)
|
91
|
+
actionpack (= 4.2.3)
|
92
|
+
actionview (= 4.2.3)
|
93
|
+
activejob (= 4.2.3)
|
94
|
+
activemodel (= 4.2.3)
|
95
|
+
activerecord (= 4.2.3)
|
96
|
+
activesupport (= 4.2.3)
|
97
|
+
bundler (>= 1.3.0, < 2.0)
|
98
|
+
railties (= 4.2.3)
|
99
|
+
sprockets-rails
|
100
|
+
rails-deprecated_sanitizer (1.0.3)
|
101
|
+
activesupport (>= 4.2.0.alpha)
|
102
|
+
rails-dom-testing (1.0.6)
|
103
|
+
activesupport (>= 4.2.0.beta, < 5.0)
|
104
|
+
nokogiri (~> 1.6.0)
|
105
|
+
rails-deprecated_sanitizer (>= 1.0.1)
|
106
|
+
rails-html-sanitizer (1.0.2)
|
107
|
+
loofah (~> 2.0)
|
108
|
+
railties (4.2.3)
|
109
|
+
actionpack (= 4.2.3)
|
110
|
+
activesupport (= 4.2.3)
|
111
|
+
rake (>= 0.8.7)
|
112
|
+
thor (>= 0.18.1, < 2.0)
|
113
|
+
rake (10.4.2)
|
114
|
+
ruby-progressbar (1.7.5)
|
115
|
+
shoulda-matchers (2.8.0)
|
116
|
+
activesupport (>= 3.0.0)
|
117
|
+
simplecov (0.10.0)
|
118
|
+
docile (~> 1.1.0)
|
119
|
+
json (~> 1.8)
|
120
|
+
simplecov-html (~> 0.10.0)
|
121
|
+
simplecov-html (0.10.0)
|
122
|
+
sprockets (3.2.0)
|
123
|
+
rack (~> 1.0)
|
124
|
+
sprockets-rails (2.3.2)
|
125
|
+
actionpack (>= 3.0)
|
126
|
+
activesupport (>= 3.0)
|
127
|
+
sprockets (>= 2.8, < 4.0)
|
128
|
+
thor (0.19.1)
|
129
|
+
thread_safe (0.3.5)
|
130
|
+
tzinfo (1.2.2)
|
131
|
+
thread_safe (~> 0.1)
|
132
|
+
|
133
|
+
PLATFORMS
|
134
|
+
ruby
|
135
|
+
|
136
|
+
DEPENDENCIES
|
137
|
+
br_boleto!
|
138
|
+
factory_girl_rails
|
139
|
+
minitest-matchers_vaccine
|
140
|
+
minitest-rails
|
141
|
+
minitest-reporters
|
142
|
+
minitest-spec-rails
|
143
|
+
mocha
|
144
|
+
shoulda-matchers
|
145
|
+
simplecov
|
data/History.txt
ADDED
data/LICENSE
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
Copyright (c) 2015 Bruno M. Mergen
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
4
|
+
a copy of this software and associated documentation files (the
|
5
|
+
"Software"), to deal in the Software without restriction, including
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
9
|
+
the following conditions:
|
10
|
+
|
11
|
+
The above copyright notice and this permission notice shall be
|
12
|
+
included in all copies or substantial portions of the Software.
|
13
|
+
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.markdown
ADDED
@@ -0,0 +1,156 @@
|
|
1
|
+
# BrBoleto
|
2
|
+
|
3
|
+
Emissão de Boletos Bancários em Ruby.
|
4
|
+
|
5
|
+
## Versão 1.0.0
|
6
|
+
|
7
|
+
Por enquanto esta gem apenas faz os cálculos para o banco sicoob.
|
8
|
+
|
9
|
+
## Alternativas
|
10
|
+
|
11
|
+
Essa biblioteca é baseada em outras **ótimas** bibliotecas.
|
12
|
+
**Recomendo analisar muito bem cada solução**:
|
13
|
+
|
14
|
+
* Stella Caelum [http://stella.caelum.com.br/](http://stella.caelum.com.br/)
|
15
|
+
* Novo Gateway de Pagamentos da Locaweb [http://www.locaweb.com.br/produtos/gateway-pagamento.html](http://www.locaweb.com.br/produtos/gateway-pagamento.html)
|
16
|
+
* Brcobranca [https://github.com/kivanio/brcobranca](https://github.com/kivanio/brcobranca)
|
17
|
+
* Boleto Php [http://boletophp.com.br/](http://boletophp.com.br/)
|
18
|
+
* Gem de Boleto Bancário [https://github.com/tomas-stefano/boleto_bancario](https://github.com/tomas-stefano/boleto_bancario)
|
19
|
+
|
20
|
+
## Instalação
|
21
|
+
**Manual**
|
22
|
+
|
23
|
+
gem install br_boleto
|
24
|
+
|
25
|
+
**Instalação via Gemfile**
|
26
|
+
|
27
|
+
gem 'br_boleto'
|
28
|
+
|
29
|
+
## Documentação
|
30
|
+
|
31
|
+
Seguimos as documentações descritas abaixo:
|
32
|
+
|
33
|
+
* [Sicoob](documentacoes_boletos/Sicoob)
|
34
|
+
|
35
|
+
|
36
|
+
## Bancos Suportados
|
37
|
+
|
38
|
+
Para todos os bancos e carteiras implementadas, **seguimos as documentações** que estão dentro do repositório:
|
39
|
+
|
40
|
+
<table>
|
41
|
+
<tr>
|
42
|
+
<th>Nome do Banco</th>
|
43
|
+
<th>Carteiras Suportadas</th>
|
44
|
+
<th>Testada/Homologada no banco</th>
|
45
|
+
</tr>
|
46
|
+
<tr>
|
47
|
+
<td>Sicoob</td>
|
48
|
+
<td>1, 3.</td>
|
49
|
+
<td>Emm andamento...</td>
|
50
|
+
</tr>
|
51
|
+
</table>
|
52
|
+
|
53
|
+
## Usage
|
54
|
+
|
55
|
+
Você pode usar as próprias classes da gem, porém, **recomendo criar uma subclasse** para os bancos que você gostaria de desenvolver.
|
56
|
+
|
57
|
+
### Exemplo
|
58
|
+
|
59
|
+
```ruby
|
60
|
+
class BoletoSicoob < BrBoleto::Sicoob
|
61
|
+
end
|
62
|
+
|
63
|
+
```
|
64
|
+
|
65
|
+
### Criando os boletos / Validações
|
66
|
+
|
67
|
+
Agora você pode emitir um boleto, **usando a classe criada no exemplo acima**:
|
68
|
+
|
69
|
+
```ruby
|
70
|
+
BoletoSicoob.new(agencia: '3195', codigo_cedente: '6532', numero_documento: '1101', carteira: '1', valor_documento: 105.78)
|
71
|
+
```
|
72
|
+
|
73
|
+
Você pode usar blocos se quiser:
|
74
|
+
|
75
|
+
```ruby
|
76
|
+
boleto_sicoob = BoletoSicoob.new do |boleto|
|
77
|
+
boleto.agencia = '0097'
|
78
|
+
boleto.carteira = '1'
|
79
|
+
boleto.cedente = 'Razao Social da Empresa'
|
80
|
+
boleto.codigo_cedente = '90901'
|
81
|
+
boleto.endereco_cedente = 'Rua nome da rua, 9999'
|
82
|
+
boleto.numero_documento = '12345678'
|
83
|
+
boleto.sacado = 'Nome do Sacado'
|
84
|
+
boleto.documento_sacado = '35433793990'
|
85
|
+
boleto.data_vencimento = Date.tomorrow
|
86
|
+
boleto.valor_documento = 31678.99
|
87
|
+
end
|
88
|
+
```
|
89
|
+
|
90
|
+
**Cada banco possui suas próprias validações de campo e de tamanho**.
|
91
|
+
Primeiramente, **antes de renderizar qualquer boleto você precisar verificar se esse o boleto é válido**.
|
92
|
+
|
93
|
+
```ruby
|
94
|
+
if boleto_sicoob.valid?
|
95
|
+
# Renderiza o boleto itau
|
96
|
+
else
|
97
|
+
# Trata os erros
|
98
|
+
end
|
99
|
+
```
|
100
|
+
|
101
|
+
### Campos do Boleto
|
102
|
+
|
103
|
+
Segue abaixo os métodos para serem chamados, no momento de renderizar os boletos. Os campos são de mesmo nome:
|
104
|
+
|
105
|
+
```ruby
|
106
|
+
boleto_sicoob.codigo_banco_formatado # Retorna o código do banco, junto com seu dígito
|
107
|
+
|
108
|
+
boleto_sicoob.codigo_de_barras
|
109
|
+
|
110
|
+
boleto_sicoob.linha_digitavel
|
111
|
+
|
112
|
+
boleto_sicoob.nosso_numero
|
113
|
+
|
114
|
+
boleto_sicoob.agencia_codigo_cedente
|
115
|
+
|
116
|
+
boleto_sicoob.carteira_formatada # Formata a carteira, para mostrar no boleto.
|
117
|
+
|
118
|
+
boleto_sicoob.numero_documento
|
119
|
+
|
120
|
+
boleto_sicoob.valor_documento
|
121
|
+
|
122
|
+
boleto_sicoob.especie
|
123
|
+
|
124
|
+
boleto_sicoob.especie_documento
|
125
|
+
```
|
126
|
+
|
127
|
+
## Sobrescrevendo comportamentos
|
128
|
+
|
129
|
+
Você pode sobrescrever os comportamentos na subclasse.
|
130
|
+
|
131
|
+
Por exemplo, imagine que você quer sobrescrever a forma como é tratada a segunda parte do código de barras.
|
132
|
+
**Seguindo a interface da classe BrBoleto::Boleto** fica bem simples:
|
133
|
+
|
134
|
+
```ruby
|
135
|
+
class BoletoSicoob < BrBoleto::Sicoob
|
136
|
+
def codigo_de_barras_do_banco
|
137
|
+
# Sua implementação ...
|
138
|
+
end
|
139
|
+
end
|
140
|
+
```
|
141
|
+
|
142
|
+
## Contribuições
|
143
|
+
|
144
|
+
Seja um contribuidor. Você pode contribuir de N formas. Seguem elas:
|
145
|
+
|
146
|
+
* Criar boletos para outros bancos.
|
147
|
+
* Homologando boletos junto ao banco.
|
148
|
+
* Fornecendo documentações mais atualizadas dos Bancos.
|
149
|
+
* Escrevendo novos formatos (PDF, PNG), e me avisando para divulgar no Readme.
|
150
|
+
* Refatorando código!!
|
151
|
+
* Fornecendo Feedback construtivo! (Sempre bem vindo!)
|
152
|
+
|
153
|
+
## Licença
|
154
|
+
|
155
|
+
- BSD
|
156
|
+
- Copyleft 2015 Bruno M. Mergen
|
data/Rakefile
ADDED
data/br_boleto.gemspec
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
require File.expand_path('../lib/br_boleto/version', __FILE__)
|
3
|
+
|
4
|
+
Gem::Specification.new do |gem|
|
5
|
+
gem.authors = ["Bruno M. Mergen"]
|
6
|
+
gem.email = ["brunomergen@gmail.com"]
|
7
|
+
gem.description = %q{Emissão de Boletos Bancários em Ruby}
|
8
|
+
gem.summary = %q{Emissão de Boletos Bancários em Ruby}
|
9
|
+
gem.homepage = "https://github.com/Brunomm/br_boleto"
|
10
|
+
gem.license = "BSD"
|
11
|
+
|
12
|
+
gem.files = `git ls-files`.split($\).reject { |f| ['.pdf','.xls'].include?(File.extname(f)) }
|
13
|
+
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
14
|
+
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
15
|
+
gem.name = "br_boleto"
|
16
|
+
gem.require_paths = ["lib"]
|
17
|
+
gem.version = BrBoleto::Version::CURRENT
|
18
|
+
|
19
|
+
gem.required_ruby_version = '>= 2.1'
|
20
|
+
|
21
|
+
|
22
|
+
gem.add_dependency "rake", '>= 0.8.7'
|
23
|
+
gem.add_dependency "activesupport", '~> 4.2'
|
24
|
+
gem.add_dependency "activemodel", '~> 4.2'
|
25
|
+
|
26
|
+
end
|
data/lib/br_boleto.rb
ADDED
@@ -0,0 +1,87 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
require 'br_boleto/version'
|
3
|
+
require 'active_model'
|
4
|
+
require 'active_support/core_ext/class'
|
5
|
+
require 'active_support/core_ext/enumerable'
|
6
|
+
require 'active_support/core_ext/object'
|
7
|
+
require 'active_support/core_ext/string'
|
8
|
+
|
9
|
+
# Copyright (C) 2015 Bruno M. Mergen <http://duobr.com.br>
|
10
|
+
#
|
11
|
+
# @author Bruno Mucelini Mergen <brunomergen@gmail.com>
|
12
|
+
#
|
13
|
+
# == Boleto Bancário
|
14
|
+
#
|
15
|
+
# Emissão de Boletos Bancários em Ruby. Simples e principalmente, flexível.
|
16
|
+
#
|
17
|
+
# Essa biblioteca é baseada em outras <b>ótimas</b> bibliotecas.
|
18
|
+
# Recomendo analisar muito bem cada solução!
|
19
|
+
#
|
20
|
+
# * Novo Gateway de Pagamentos da Locaweb: http://www.locaweb.com.br/produtos/gateway-pagamento.html
|
21
|
+
# * Brcobranca: https://github.com/kivanio/brcobranca
|
22
|
+
# * Boleto Php: http://boletophp.com.br
|
23
|
+
# * Stella Caelum: http://stella.caelum.com.br
|
24
|
+
# * BoletoBancario: https://github.com/tomas-stefano/boleto_bancario
|
25
|
+
#
|
26
|
+
# === Instalação via Rubygems
|
27
|
+
#
|
28
|
+
# gem install br_boleto
|
29
|
+
#
|
30
|
+
# === Instalar via Bundler
|
31
|
+
#
|
32
|
+
# Coloque no Gemfile:
|
33
|
+
#
|
34
|
+
# gem 'br_boleto'
|
35
|
+
#
|
36
|
+
# Depois de colocar no Gemfile:
|
37
|
+
#
|
38
|
+
# bundle install
|
39
|
+
#
|
40
|
+
module BrBoleto
|
41
|
+
# Modulo responsável por guardar todas as regras dos campos de
|
42
|
+
# todos os Boletos Bancários. <b>Contribuicões com novas documentações dos
|
43
|
+
# bancos e homologação dos boletos são extremamente bem vindas!</b>
|
44
|
+
#
|
45
|
+
# Esse módulo também é responsável por guardar todas as regras de validação dos boletos e
|
46
|
+
# contém a forma de chamar os objetos necessários para renderização
|
47
|
+
# dos formatos (pdf, html, etc) e internacionalização dos boletos (caso
|
48
|
+
# você precise mudar os nomes dos campos nos boletos)
|
49
|
+
#
|
50
|
+
module Core
|
51
|
+
extend ActiveSupport::Autoload
|
52
|
+
|
53
|
+
autoload :Boleto
|
54
|
+
autoload :BancoBrasil
|
55
|
+
autoload :Banrisul
|
56
|
+
autoload :Bradesco
|
57
|
+
autoload :Caixa
|
58
|
+
autoload :Hsbc
|
59
|
+
autoload :Itau
|
60
|
+
autoload :Real
|
61
|
+
autoload :Santander
|
62
|
+
autoload :Sicredi
|
63
|
+
autoload :Sicoob
|
64
|
+
end
|
65
|
+
|
66
|
+
# Módulo que possui classes que realizam os cálculos dos campos que serão mostrados nos boletos.
|
67
|
+
#
|
68
|
+
module Calculos
|
69
|
+
extend ActiveSupport::Autoload
|
70
|
+
|
71
|
+
autoload :FatorVencimento
|
72
|
+
autoload :FatoresDeMultiplicacao
|
73
|
+
autoload :LinhaDigitavel
|
74
|
+
autoload :Modulo10
|
75
|
+
autoload :Modulo11
|
76
|
+
autoload :Modulo11FatorDe2a9
|
77
|
+
autoload :Modulo11Fator3197
|
78
|
+
autoload :Modulo11FatorDe2a9RestoZero
|
79
|
+
autoload :Modulo11FatorDe2a7
|
80
|
+
autoload :Modulo11FatorDe9a2
|
81
|
+
autoload :Modulo11FatorDe9a2RestoX
|
82
|
+
autoload :ModuloNumeroDeControle
|
83
|
+
autoload :Digitos
|
84
|
+
end
|
85
|
+
|
86
|
+
include Core
|
87
|
+
end
|