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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9490f047ed7f96ddc23765c189a8f664f3ea4046
4
- data.tar.gz: fb1b338e598840ccafc5aad54d12e2b37e711c03
3
+ metadata.gz: 468f41a6e1020d1c867b067958b15a4d362f6a02
4
+ data.tar.gz: 43c5a25af6d924b03138fa8d60f5c6a4539633c8
5
5
  SHA512:
6
- metadata.gz: d5f8a5623d82fdbd4a862ff61e1498929f6d72a555f7431e59a8c5ec31e942e99ef693fec7ed45f5925bd1ba7749c41120ab221ff2012a37fc208a6204d6d97c
7
- data.tar.gz: 680c310410b32653e3211b1cad6e2f6daf5d55be0885a91e01dc5fcaf36fbe23aa2a08510c4be3bf3dc21cf4754bacea0d666f2ddad93871667a0f16fcc7b02f
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'
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
@@ -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: "R$ #{valor}",
75
- valor_documento_rp: "R$ #{valor}",
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 = (valor * 100).to_i.to_s
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 = zeros_a_esquerda(nosso_numero, 12)
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.3
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: []