class Boletorb::Santander
Public Instance Methods
codigo_de_barras()
click to toggle source
# File lib/boletorb/santander.rb, line 40 def codigo_de_barras dv_boleto = modulo_11("#{cedente.banco}9#{fator_vencimento}#{valor_nominal}9#{cedente.codigo_cedente}#{nosso_numero_formatado}#{ios}#{cedente.modalidade_carteira}") codigo = "#{cedente.banco}9#{dv_boleto}#{fator_vencimento}#{valor_nominal}9#{cedente.codigo_cedente}#{nosso_numero_formatado}#{ios}#{cedente.modalidade_carteira}" codigo end
gera()
click to toggle source
# File lib/boletorb/santander.rb, line 10 def gera layout_processado = processa_layout layout_processado.generate end
gera_arquivo(nome_do_arquivo)
click to toggle source
# File lib/boletorb/santander.rb, line 15 def gera_arquivo(nome_do_arquivo) layout_processado = processa_layout layout_processado.generate filename: nome_do_arquivo end
linha_digitavel()
click to toggle source
# File lib/boletorb/santander.rb, line 20 def linha_digitavel campo_1 = "#{cedente.banco}99" campo_2 = "#{cedente.codigo_cedente[0..3]}" linha = "#{campo_1}.#{campo_2}" dv_primeiro_grupo = modulo_10("#{campo_1}#{campo_2}") campo_3 = "#{cedente.codigo_cedente[4..7]}" campo_4 = "#{nosso_numero_formatado[0..1]}.#{nosso_numero_formatado[2..6]}" dv_segundo_grupo = modulo_10("#{campo_3}#{campo_4}") restante_nosso_numero = "#{nosso_numero_formatado[7..11]}.#{nosso_numero_formatado[12..12]}" dv_terceiro_grupo = modulo_10("#{restante_nosso_numero}#{ios}#{cedente.modalidade_carteira}") dv_boleto = modulo_11("#{cedente.banco}9#{fator_vencimento}#{valor_nominal}9#{cedente.codigo_cedente}#{nosso_numero_formatado}#{ios}#{cedente.modalidade_carteira}") linha = "#{linha}#{dv_primeiro_grupo} #{campo_3}#{campo_4}#{dv_segundo_grupo} #{restante_nosso_numero}" linha = "#{linha}#{ios}#{cedente.modalidade_carteira}#{dv_terceiro_grupo} #{dv_boleto} #{fator_vencimento}#{valor_nominal}" end
Private Instance Methods
processa_layout()
click to toggle source
# File lib/boletorb/santander.rb, line 47 def processa_layout report = ThinReports::Report.new layout: "#{File.dirname(__FILE__)}/templates/santander.tlf" report.start_new_page do |page| valor_formatado = Money.new(formata_valor_para_inteiro, "BRL") puts valor_formatado.format page.item(:banco_img).src("#{File.dirname(__FILE__)}/images/santander.jpg") page.item(:banco_img_rp).src("#{File.dirname(__FILE__)}/images/santander.jpg") code = Barby::Code25Interleaved.new(codigo_de_barras) barcode = StringIO.new(code.to_png({:height => 200, :xdim => 5, :margin => 5})) page.item(:cod_barras).src(barcode) page.values banco: cedente.banco, banco_rp: cedente.banco, linha_digitavel: linha_digitavel, linha_digitavel_rp: linha_digitavel, cedente: cedente.nome, cedente_rp: cedente.nome, agencia_conta: "#{cedente.agencia}/#{cedente.codigo_cedente}", agencia_conta_rp: "#{cedente.agencia}/#{cedente.codigo_cedente}", nosso_numero: nosso_numero_formatado, nosso_numero_rp: nosso_numero_formatado, numero_documento: numero_documento, numero_documento_rp: numero_documento, especie_documento: especie, aceite: aceite, data_processamento: data_processamento, cpf_cnpj: cedente.documento, vencimento: vencimento, vencimento_rp: vencimento, valor_documento: valor_formatado.format, valor_documento_rp: valor_formatado.format, sacado_formatado: sacado.formatado, sacado_formatado_rp: sacado.formatado, endereco_sacado: sacado.endereco, endereco_sacado_rp: sacado.endereco, local_pagamento: local_pagamento, carteira: cedente.modalidade_carteira, instrucao_1: instrucao_1, instrucao_2: instrucao_2, instrucao_3: instrucao_3, instrucao_4: instrucao_4, instrucao_5: instrucao_5, instrucao_6: instrucao_6, instrucao_7: instrucao_7 end report end