Class: BrInvoicesPdf::Generator

Inherits:
Object
  • Object
show all
Defined in:
lib/br_invoices_pdf/generator.rb

Constant Summary collapse

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

Instance Method Summary collapse

Constructor Details

#initialize(renderer, parser) ⇒ Generator

Returns a new instance of Generator.



7
8
9
10
# File 'lib/br_invoices_pdf/generator.rb', line 7

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

Instance Method Details

#generate(xml, options) ⇒ Object



12
13
14
15
16
17
# File 'lib/br_invoices_pdf/generator.rb', line 12

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