module BrInvoicesPdf::Nfce::Renderer::QrCode
Public Instance Methods
execute(pdf, data)
click to toggle source
# File lib/br_invoices_pdf/nfce/renderer/qr_code.rb, line 12 def execute(pdf, data) render_box(pdf) do options = pdf_options(page_paper_width(pdf.page.size)) generate_qr_code(pdf, data, options) end end
generate_qr_code(pdf, data, options)
click to toggle source
:reek: FeatureEnvy
# File lib/br_invoices_pdf/nfce/renderer/qr_code.rb, line 37 def generate_qr_code(pdf, data, options) qrcode_size = options[:qrcode_size] opts = { at: [(options[:page_width] - qrcode_size) / 2, pdf.cursor], width: qrcode_size, height: qrcode_size } insert_image(pdf, generate_qr_code_data(data[:emission_details][:qrcode_url], qrcode_size), opts) end
insert_image(pdf, image, options)
click to toggle source
# File lib/br_invoices_pdf/nfce/renderer/qr_code.rb, line 48 def insert_image(pdf, image, options) pdf.image(image, options) pdf.move_down(options[:height]) end
pdf_options(page_width)
click to toggle source
# File lib/br_invoices_pdf/nfce/renderer/qr_code.rb, line 29 def pdf_options(page_width) qrcode_size = page_width * 0.65 { qrcode_size: qrcode_size, page_width: page_width } end
render_box(pdf) { || ... }
click to toggle source
:reek: FeatureEnvy
# File lib/br_invoices_pdf/nfce/renderer/qr_code.rb, line 21 def render_box(pdf) box(pdf, [0, pdf.cursor], page_content_width(pdf)) do pdf.text('QR Code', style: :italic) yield end end