boletorb 0.0.3 → 0.0.4
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/boletorb.gemspec +2 -1
- data/lib/boletorb/santander.rb +5 -4
- data/lib/boletorb.rb +7 -12
- metadata +15 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 468f41a6e1020d1c867b067958b15a4d362f6a02
|
4
|
+
data.tar.gz: 43c5a25af6d924b03138fa8d60f5c6a4539633c8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dc05eac3ef4ca958f61bf3f6799eba0a8cb52d8fe13f955a44aa6bc0af48291db60b268b4f6221b7221480274e0ec7f409aba7ecc07f66b9e60daca6839e84c0
|
7
|
+
data.tar.gz: 5c6f9706198aef98f07611edaab8aae7332527b0aae9462f2969a5d8604642173f4f7a84c3d52667855aba02f47cba034ba019dbec2f8b583bd5a1b3b5561b17
|
data/boletorb.gemspec
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = 'boletorb'
|
3
|
-
s.version = '0.0.
|
3
|
+
s.version = '0.0.4'
|
4
4
|
s.date = '2014-05-23'
|
5
5
|
s.summary = "Boleto RB"
|
6
6
|
s.description = "A gem for generating brazilian 'boletos'"
|
@@ -22,6 +22,7 @@ Gem::Specification.new do |s|
|
|
22
22
|
s.add_dependency 'thinreports', '0.7.7'
|
23
23
|
s.add_dependency 'barby', '0.5.1'
|
24
24
|
s.add_dependency 'chunky_png', '1.3.1'
|
25
|
+
s.add_dependency 'money', '6.1.1'
|
25
26
|
|
26
27
|
s.require_paths = ["lib"]
|
27
28
|
end
|
data/lib/boletorb/santander.rb
CHANGED
@@ -47,12 +47,13 @@ module Boletorb
|
|
47
47
|
def processa_layout
|
48
48
|
report = ThinReports::Report.new layout: "#{File.dirname(__FILE__)}/templates/santander.tlf"
|
49
49
|
report.start_new_page do |page|
|
50
|
+
valor_formatado = Money.new(formata_valor_para_inteiro, "BRL")
|
51
|
+
puts valor_formatado.format
|
50
52
|
page.item(:banco_img).src("#{File.dirname(__FILE__)}/images/santander.jpg")
|
51
53
|
page.item(:banco_img_rp).src("#{File.dirname(__FILE__)}/images/santander.jpg")
|
52
|
-
puts "Codigo de barras: #{codigo_de_barras}"
|
53
54
|
code = Barby::Code25Interleaved.new(codigo_de_barras)
|
54
55
|
barcode = StringIO.new(code.to_png({:height => 200, :xdim => 5, :margin => 5}))
|
55
|
-
page.item(:cod_barras).src(barcode)
|
56
|
+
page.item(:cod_barras).src(barcode)
|
56
57
|
page.values banco: cedente.banco,
|
57
58
|
banco_rp: cedente.banco,
|
58
59
|
linha_digitavel: linha_digitavel,
|
@@ -71,8 +72,8 @@ module Boletorb
|
|
71
72
|
cpf_cnpj: cedente.documento,
|
72
73
|
vencimento: vencimento,
|
73
74
|
vencimento_rp: vencimento,
|
74
|
-
valor_documento:
|
75
|
-
valor_documento_rp:
|
75
|
+
valor_documento: valor_formatado.format,
|
76
|
+
valor_documento_rp: valor_formatado.format,
|
76
77
|
sacado_formatado: sacado.formatado,
|
77
78
|
sacado_formatado_rp: sacado.formatado,
|
78
79
|
endereco_sacado: sacado.endereco,
|
data/lib/boletorb.rb
CHANGED
@@ -2,6 +2,7 @@
|
|
2
2
|
$:.push File.join(File.dirname(__FILE__))
|
3
3
|
|
4
4
|
require 'date'
|
5
|
+
require 'money'
|
5
6
|
|
6
7
|
module Boletorb
|
7
8
|
|
@@ -46,7 +47,7 @@ module Boletorb
|
|
46
47
|
end
|
47
48
|
|
48
49
|
def valor_nominal
|
49
|
-
valor_formatado =
|
50
|
+
valor_formatado = formata_valor_para_inteiro
|
50
51
|
tamanho_valor = valor_formatado.size
|
51
52
|
for i in 1..(10 - tamanho_valor)
|
52
53
|
valor_formatado = "0#{valor_formatado}"
|
@@ -54,21 +55,17 @@ module Boletorb
|
|
54
55
|
valor_formatado
|
55
56
|
end
|
56
57
|
|
58
|
+
def formata_valor_para_inteiro
|
59
|
+
valor_formatado = (valor.round(2) * 100).to_i.to_s
|
60
|
+
end
|
61
|
+
|
57
62
|
def nosso_numero_formatado
|
58
|
-
numero =
|
63
|
+
numero = nosso_numero.rjust(12, "0")
|
59
64
|
digito_verificador = modulo_11(numero)
|
60
65
|
"#{numero}#{digito_verificador}"
|
61
66
|
end
|
62
67
|
|
63
68
|
private
|
64
|
-
def zeros_a_esquerda(numero, quantidade)
|
65
|
-
tamanho_numero = numero.size
|
66
|
-
for i in 1..(quantidade - tamanho_numero)
|
67
|
-
numero = "0#{numero}"
|
68
|
-
end
|
69
|
-
numero
|
70
|
-
end
|
71
|
-
|
72
69
|
def modulo_11(numero)
|
73
70
|
numero.gsub!(".", "")
|
74
71
|
numero.gsub!(" ", "")
|
@@ -112,9 +109,7 @@ module Boletorb
|
|
112
109
|
multi = 2
|
113
110
|
for i in 0..numero.size - 1
|
114
111
|
valor = numero[numero.size - 1 - i].to_i * multi
|
115
|
-
|
116
112
|
#quebrando valor em todos os casos
|
117
|
-
|
118
113
|
while (((valor % 10) > - 1) && valor > 0)
|
119
114
|
resultado << valor % 10
|
120
115
|
valor = valor / 10
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: boletorb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Filipe Monteiro
|
@@ -52,6 +52,20 @@ dependencies:
|
|
52
52
|
- - '='
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: 1.3.1
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: money
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - '='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 6.1.1
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - '='
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 6.1.1
|
55
69
|
description: A gem for generating brazilian 'boletos'
|
56
70
|
email: filipe@tfsolutions.com.br
|
57
71
|
executables: []
|