Module: BrInvoicesPdf

Defined in:
lib/br_invoices_pdf/util/nfce_check_urls.rb,
lib/br_invoices_pdf.rb,
lib/br_invoices_pdf/cfe.rb,
lib/br_invoices_pdf/nfce.rb,
lib/br_invoices_pdf/version.rb,
lib/br_invoices_pdf/generator.rb,
lib/br_invoices_pdf/util/enum.rb,
lib/br_invoices_pdf/cfe/parser.rb,
lib/br_invoices_pdf/nfce/parser.rb,
lib/br_invoices_pdf/cfe/renderer.rb,
lib/br_invoices_pdf/nfce/renderer.rb,
lib/br_invoices_pdf/cfe/parser/cpf.rb,
lib/br_invoices_pdf/cfe/parser/sat.rb,
lib/br_invoices_pdf/cfe/parser/cnpj.rb,
lib/br_invoices_pdf/util/xml_locate.rb,
lib/br_invoices_pdf/util/mount_params.rb,
lib/br_invoices_pdf/util/pdf_renderer.rb,
lib/br_invoices_pdf/cfe/parser/payment.rb,
lib/br_invoices_pdf/nfce/parser/totals.rb,
lib/br_invoices_pdf/util/base_renderer.rb,
lib/br_invoices_pdf/util/product_table.rb,
lib/br_invoices_pdf/cfe/parser/payments.rb,
lib/br_invoices_pdf/cfe/renderer/header.rb,
lib/br_invoices_pdf/cfe/renderer/totals.rb,
lib/br_invoices_pdf/nfce/parser/company.rb,
lib/br_invoices_pdf/cfe/parser/fisco_obs.rb,
lib/br_invoices_pdf/cfe/renderer/qr_code.rb,
lib/br_invoices_pdf/nfce/parser/customer.rb,
lib/br_invoices_pdf/nfce/parser/payments.rb,
lib/br_invoices_pdf/nfce/parser/products.rb,
lib/br_invoices_pdf/nfce/renderer/header.rb,
lib/br_invoices_pdf/nfce/renderer/totals.rb,
lib/br_invoices_pdf/cfe/parser/access_key.rb,
lib/br_invoices_pdf/nfce/renderer/qr_code.rb,
lib/br_invoices_pdf/cfe/renderer/fisco_info.rb,
lib/br_invoices_pdf/cfe/renderer/taxes_info.rb,
lib/br_invoices_pdf/cfe/parser/products_data.rb,
lib/br_invoices_pdf/nfce/renderer/taxes_info.rb,
lib/br_invoices_pdf/nfce/renderer/procon_info.rb,
lib/br_invoices_pdf/cfe/parser/document_number.rb,
lib/br_invoices_pdf/cfe/renderer/base_renderer.rb,
lib/br_invoices_pdf/cfe/renderer/payment_forms.rb,
lib/br_invoices_pdf/cfe/renderer/product_table.rb,
lib/br_invoices_pdf/nfce/parser/additional_info.rb,
lib/br_invoices_pdf/nfce/renderer/base_renderer.rb,
lib/br_invoices_pdf/nfce/renderer/payment_forms.rb,
lib/br_invoices_pdf/nfce/renderer/product_table.rb,
lib/br_invoices_pdf/errors/invalid_document_type.rb,
lib/br_invoices_pdf/nfce/parser/emission_details.rb,
lib/br_invoices_pdf/nfce/renderer/fiscal_message.rb,
lib/br_invoices_pdf/cfe/parser/company_attributes.rb,
lib/br_invoices_pdf/cfe/renderer/company_identification.rb,
lib/br_invoices_pdf/nfce/renderer/company_identification.rb,
lib/br_invoices_pdf/nfce/renderer/customer_identification.rb

Overview

rubocop:disable Metrics/ModuleLength

Defined Under Namespace

Modules: Cfe, Errors, Nfce, Util Classes: Generator

Constant Summary collapse

VERSION =
'0.2.24'

Class Method Summary collapse

Class Method Details

.generate(type, xml, options = {}) ⇒ Object



26
27
28
29
30
31
# 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) ⇒ Object

Raises:

  • (ArgumentError)


33
34
35
36
37
# 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_typesObject



39
40
41
# File 'lib/br_invoices_pdf.rb', line 39

def supported_document_types
  @generators.keys
end

.valid_type?(type) ⇒ Boolean

Returns:

  • (Boolean)


43
44
45
# File 'lib/br_invoices_pdf.rb', line 43

def valid_type?(type)
  type.is_a?(String) || type.is_a?(Symbol)
end