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: []
         |