br_boleto 1.0.1 → 1.1.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 +4 -4
- data/.gitignore +5 -0
- data/Gemfile +4 -0
- data/Gemfile.lock +13 -0
- data/LICENSE +1 -1
- data/README.markdown +22 -7
- data/br_boleto.gemspec +9 -7
- data/lib/br_boleto/active_model_base.rb +28 -0
- data/lib/br_boleto/boleto/base.rb +666 -633
- data/lib/br_boleto/boleto/caixa.rb +257 -0
- data/lib/br_boleto/boleto/sicoob.rb +6 -18
- data/lib/br_boleto/helper/format_value.rb +18 -0
- data/lib/br_boleto/remessa/base.rb +1 -22
- data/lib/br_boleto/remessa/cnab240/base.rb +12 -9
- data/lib/br_boleto/remessa/cnab240/caixa.rb +201 -0
- data/lib/br_boleto/remessa/cnab240/helper/header_arquivo.rb +2 -2
- data/lib/br_boleto/remessa/cnab240/helper/header_lote.rb +10 -1
- data/lib/br_boleto/remessa/cnab240/helper/segmento_p.rb +2 -2
- data/lib/br_boleto/remessa/cnab240/helper/segmento_q.rb +2 -2
- data/lib/br_boleto/remessa/cnab240/helper/trailer_arquivo.rb +7 -0
- data/lib/br_boleto/remessa/cnab240/sicoob.rb +6 -6
- data/lib/br_boleto/remessa/lote.rb +1 -21
- data/lib/br_boleto/remessa/pagamento.rb +22 -36
- data/lib/br_boleto/retorno/base.rb +31 -0
- data/lib/br_boleto/retorno/cnab240/base.rb +101 -0
- data/lib/br_boleto/retorno/cnab240/caixa.rb +30 -0
- data/lib/br_boleto/retorno/cnab240/sicoob.rb +35 -0
- data/lib/br_boleto/retorno/pagamento.rb +242 -0
- data/lib/br_boleto/version.rb +2 -2
- data/lib/br_boleto.rb +23 -11
- data/test/br_boleto/boleto/base_test.rb +6 -6
- data/test/br_boleto/boleto/caixa_test.rb +191 -0
- data/test/br_boleto/boleto/sicoob_test.rb +18 -11
- data/test/br_boleto/remessa/cnab240/base_test.rb +5 -5
- data/test/br_boleto/remessa/cnab240/caixa_test.rb +271 -0
- data/test/br_boleto/remessa/cnab240/helper/header_arquivo_test.rb +2 -2
- data/test/br_boleto/remessa/cnab240/helper/segmento_p_test.rb +1 -1
- data/test/br_boleto/remessa/cnab240/sicoob_test.rb +27 -27
- data/test/br_boleto/remessa/pagamento_test.rb +12 -2
- data/test/br_boleto/retorno/cnab240/base_test.rb +217 -0
- data/test/br_boleto/retorno/cnab240/caixa_test.rb +217 -0
- data/test/br_boleto/retorno/cnab240/sicoob_test.rb +217 -0
- data/test/br_boleto/retorno/pagamento_test.rb +179 -0
- data/test/factories/boleto/boleto_caixa.rb +25 -0
- data/test/factories/remessa/cnab240/caixa.rb +14 -0
- data/test/factories/remessa/pagamento.rb +1 -0
- data/test/factories/retorno/pagamento.rb +6 -0
- data/test/files/retorno/cnab240/caixa.ret +14 -0
- data/test/files/retorno/cnab240/padrao240.ret +14 -0
- metadata +51 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2962941333bce0a4a32fa0f19d3ad7fd32258cbb
|
4
|
+
data.tar.gz: f8cd4c4330311b2706ef44bfdcf6d2ed4094b5d4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5dc034b5393fceb1e351c935e131300aca0ef79e91049e5251d0a0f18095435a1b4ddf89d22445714e115c762d076f7ccc0ea6b7251aa047d38f784c27f5177b
|
7
|
+
data.tar.gz: bc45af6e51932b1d7e93deaa60d397f4dc9715f9b60569bfb3a74a4700c2f27ff32b8efbfb4da34f291fc641e27c11faebdff183d49c62701e4c09fadd8951b9
|
data/.gitignore
ADDED
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -5,6 +5,7 @@ PATH
|
|
5
5
|
activemodel (~> 4.2)
|
6
6
|
activesupport (~> 4.2)
|
7
7
|
rake (>= 0.8.7)
|
8
|
+
unidecoder (>= 1.1.2)
|
8
9
|
|
9
10
|
GEM
|
10
11
|
remote: http://rubygems.org/
|
@@ -47,6 +48,7 @@ GEM
|
|
47
48
|
ansi (1.5.0)
|
48
49
|
arel (6.0.2)
|
49
50
|
builder (3.2.2)
|
51
|
+
coderay (1.1.1)
|
50
52
|
docile (1.1.5)
|
51
53
|
erubis (2.7.0)
|
52
54
|
factory_girl (4.5.0)
|
@@ -63,6 +65,7 @@ GEM
|
|
63
65
|
mail (2.6.3)
|
64
66
|
mime-types (>= 1.16, < 3)
|
65
67
|
metaclass (0.0.4)
|
68
|
+
method_source (0.8.2)
|
66
69
|
mime-types (2.6.1)
|
67
70
|
mini_portile (0.6.2)
|
68
71
|
minitest (5.7.0)
|
@@ -83,6 +86,10 @@ GEM
|
|
83
86
|
metaclass (~> 0.0.1)
|
84
87
|
nokogiri (1.6.6.2)
|
85
88
|
mini_portile (~> 0.6.0)
|
89
|
+
pry (0.10.2)
|
90
|
+
coderay (~> 1.1.0)
|
91
|
+
method_source (~> 0.8.1)
|
92
|
+
slop (~> 3.4)
|
86
93
|
rack (1.6.4)
|
87
94
|
rack-test (0.6.3)
|
88
95
|
rack (>= 1.0)
|
@@ -119,6 +126,7 @@ GEM
|
|
119
126
|
json (~> 1.8)
|
120
127
|
simplecov-html (~> 0.10.0)
|
121
128
|
simplecov-html (0.10.0)
|
129
|
+
slop (3.6.0)
|
122
130
|
sprockets (3.2.0)
|
123
131
|
rack (~> 1.0)
|
124
132
|
sprockets-rails (2.3.2)
|
@@ -129,6 +137,7 @@ GEM
|
|
129
137
|
thread_safe (0.3.5)
|
130
138
|
tzinfo (1.2.2)
|
131
139
|
thread_safe (~> 0.1)
|
140
|
+
unidecoder (1.1.2)
|
132
141
|
|
133
142
|
PLATFORMS
|
134
143
|
ruby
|
@@ -141,5 +150,9 @@ DEPENDENCIES
|
|
141
150
|
minitest-reporters
|
142
151
|
minitest-spec-rails
|
143
152
|
mocha
|
153
|
+
pry
|
144
154
|
shoulda-matchers
|
145
155
|
simplecov
|
156
|
+
|
157
|
+
BUNDLED WITH
|
158
|
+
1.11.2
|
data/LICENSE
CHANGED
data/README.markdown
CHANGED
@@ -4,15 +4,19 @@ Emissão de Boletos Bancários em Ruby.
|
|
4
4
|
|
5
5
|
[](https://codeclimate.com/github/Brunomm/br_boleto)
|
6
6
|
[](https://travis-ci.org/Brunomm/br_boleto)
|
7
|
-
[](https://hakiri.io/github/Brunomm/br_boleto/master)
|
8
7
|
|
9
|
-
## Versão 1.
|
8
|
+
## Versão 1.1.0
|
10
9
|
**O que essa gem faz?**
|
11
10
|
|
12
|
-
1. Boleto bancário para os bancos:
|
13
|
-
- Sicoob
|
11
|
+
1. Boleto bancário (apenas os cálculos para o boleto, sem a interface) para os bancos:
|
12
|
+
- Sicoob
|
13
|
+
- Caixa
|
14
14
|
2. Arquivo de remessa para os Bancos:
|
15
|
-
- Sicoob
|
15
|
+
- Sicoob (CNAB 240)
|
16
|
+
- Caixa (CNAB 240)
|
17
|
+
3. Arquivo de retorno para os Bancos:
|
18
|
+
- Sicoob (CNAB 240)
|
19
|
+
- Caixa (CNAB 240)
|
16
20
|
|
17
21
|
## Alternativas
|
18
22
|
|
@@ -56,6 +60,12 @@ Para todos os bancos e carteiras implementadas, **seguimos as documentações**
|
|
56
60
|
<td>Homologado dia 03/08/2015</td>
|
57
61
|
<td>Bruno M. Mergen</td>
|
58
62
|
</tr>
|
63
|
+
<tr>
|
64
|
+
<td>Caixa</td>
|
65
|
+
<td>1, 2.</td>
|
66
|
+
<td>Pendente</td>
|
67
|
+
<td></td>
|
68
|
+
</tr>
|
59
69
|
</table>
|
60
70
|
|
61
71
|
|
@@ -74,6 +84,11 @@ Para todos os bancos e carteiras implementadas, **seguimos as documentações**
|
|
74
84
|
<td>Homologado dia 07/08/2015</td>
|
75
85
|
<td>Bruno M. Mergen</td>
|
76
86
|
</tr>
|
87
|
+
<tr>
|
88
|
+
<td>Caixa</td>
|
89
|
+
<td>Pendente</td>
|
90
|
+
<td></td>
|
91
|
+
</tr>
|
77
92
|
</table>
|
78
93
|
|
79
94
|
## Como usar
|
@@ -118,9 +133,9 @@ Primeiramente, **antes de renderizar qualquer boleto você precisar verificar se
|
|
118
133
|
|
119
134
|
```ruby
|
120
135
|
if boleto_sicoob.valid?
|
121
|
-
# Renderiza o boleto
|
136
|
+
# Renderiza o boleto
|
122
137
|
else
|
123
|
-
#
|
138
|
+
# Tratar erros
|
124
139
|
end
|
125
140
|
```
|
126
141
|
|
data/br_boleto.gemspec
CHANGED
@@ -2,25 +2,27 @@
|
|
2
2
|
require File.expand_path('../lib/br_boleto/version', __FILE__)
|
3
3
|
|
4
4
|
Gem::Specification.new do |gem|
|
5
|
+
gem.name = "br_boleto"
|
6
|
+
gem.version = BrBoleto::Version::CURRENT
|
7
|
+
gem.licenses = ['MIT']
|
8
|
+
gem.summary = %q{Emissão de Boletos Bancários em Ruby}
|
9
|
+
gem.description = %q{Emissão de Boletos Bancários em Ruby}
|
5
10
|
gem.authors = ["Bruno M. Mergen"]
|
6
11
|
gem.email = ["brunomergen@gmail.com"]
|
7
|
-
|
8
|
-
gem.summary = %q{Emissão de Boletos Bancários em Ruby}
|
12
|
+
|
9
13
|
gem.homepage = "https://github.com/Brunomm/br_boleto"
|
10
|
-
gem.license = "BSD"
|
11
14
|
|
12
15
|
gem.files = `git ls-files`.split($\).reject { |f| ['.pdf','.xls'].include?(File.extname(f)) }
|
13
16
|
gem.test_files = `git ls-files -- test/**/*`.split("\n")
|
14
17
|
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
15
|
-
gem.name = "br_boleto"
|
16
18
|
gem.require_paths = ["lib"]
|
17
|
-
gem.version = BrBoleto::Version::CURRENT
|
18
19
|
|
19
|
-
gem.required_ruby_version = '
|
20
|
+
gem.required_ruby_version = '~> 2.1'
|
20
21
|
|
21
22
|
|
22
23
|
gem.add_dependency "rake", '>= 0.8.7'
|
23
24
|
gem.add_dependency "activesupport", '~> 4.2'
|
24
25
|
gem.add_dependency "activemodel", '~> 4.2'
|
25
|
-
|
26
|
+
gem.add_dependency 'unidecoder', '~> 1.1'
|
27
|
+
|
26
28
|
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
module BrBoleto
|
3
|
+
class ActiveModelBase
|
4
|
+
# Seguindo a interface do Active Model para:
|
5
|
+
# * Validações;
|
6
|
+
# * Internacionalização;
|
7
|
+
# * Nomes das classes para serem manipuladas;
|
8
|
+
#
|
9
|
+
include ActiveModel::Model
|
10
|
+
|
11
|
+
def initialize(attributes = {})
|
12
|
+
attributes = default_values.merge!(attributes)
|
13
|
+
assign_attributes(attributes)
|
14
|
+
yield self if block_given?
|
15
|
+
end
|
16
|
+
|
17
|
+
def assign_attributes(attributes)
|
18
|
+
attributes ||= {}
|
19
|
+
attributes.each do |name, value|
|
20
|
+
send("#{name}=", value)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
def default_values
|
25
|
+
{}
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|