module BrInvoicesPdf

rubocop:disable Metrics/ModuleLength

Constants

VERSION

Public Instance Methods

generate(type, xml, options = {}) click to toggle source
# File lib/br_invoices_pdf.rb, line 26
def generate(type, xml, options = {})
  generator = @generators[type]
  raise(Errors::InvalidDocumentType, type) unless generator

  generator.generate(xml, options)
end
register(type, renderer, parser) click to toggle source
# File lib/br_invoices_pdf.rb, line 33
def register(type, renderer, parser)
  raise(ArgumentError, "Expected Symbol or String to type. Received #{type.class}") unless valid_type?(type)

  @generators[type.to_sym] = Generator.new(renderer, parser)
end
supported_document_types() click to toggle source
# File lib/br_invoices_pdf.rb, line 39
def supported_document_types
  @generators.keys
end
valid_type?(type) click to toggle source
# File lib/br_invoices_pdf.rb, line 43
def valid_type?(type)
  type.is_a?(String) || type.is_a?(Symbol)
end