Sha256: 2135626861cccfd8db9c2420f91e61d8e08b09a8669a4e431e82eb9adaf763c0

Contents?: true

Size: 430 Bytes

Versions: 23

Compression:

Stored size: 430 Bytes

Contents

# frozen_string_literal: true

module BrInvoicesPdf
  class Generator
    PDF_OPTIONS = { page_size: 'A4', margin: [40, 75] }.freeze

    def initialize(renderer, parser)
      @renderer = renderer
      @parser = parser
    end

    def generate(xml, options)
      parsed_xml = Ox.parse(xml)
      data = @parser.parse(parsed_xml)
      opts = PDF_OPTIONS.merge(options)
      @renderer.pdf(data, opts).render
    end
  end
end

Version data entries

23 entries across 23 versions & 1 rubygems

Version Path
br_invoices_pdf-0.2.24 lib/br_invoices_pdf/generator.rb
br_invoices_pdf-0.2.23 lib/br_invoices_pdf/generator.rb
br_invoices_pdf-0.2.22 lib/br_invoices_pdf/generator.rb
br_invoices_pdf-0.2.21 lib/br_invoices_pdf/generator.rb
br_invoices_pdf-0.2.20 lib/br_invoices_pdf/generator.rb
br_invoices_pdf-0.2.19 lib/br_invoices_pdf/generator.rb
br_invoices_pdf-0.2.18 lib/br_invoices_pdf/generator.rb
br_invoices_pdf-0.2.17 lib/br_invoices_pdf/generator.rb
br_invoices_pdf-0.2.16 lib/br_invoices_pdf/generator.rb
br_invoices_pdf-0.2.15 lib/br_invoices_pdf/generator.rb
br_invoices_pdf-0.2.14 lib/br_invoices_pdf/generator.rb
br_invoices_pdf-0.2.14.alpha.23 lib/br_invoices_pdf/generator.rb
br_invoices_pdf-0.2.13 lib/br_invoices_pdf/generator.rb
br_invoices_pdf-0.2.13.alpha.22 lib/br_invoices_pdf/generator.rb
br_invoices_pdf-0.2.12.alpha.21 lib/br_invoices_pdf/generator.rb
br_invoices_pdf-0.2.12.alpha.20 lib/br_invoices_pdf/generator.rb
br_invoices_pdf-0.2.12 lib/br_invoices_pdf/generator.rb
br_invoices_pdf-0.2.11 lib/br_invoices_pdf/generator.rb
br_invoices_pdf-0.2.10 lib/br_invoices_pdf/generator.rb
br_invoices_pdf-0.2.9 lib/br_invoices_pdf/generator.rb