Sha256: b7a7e1cc9b602b9c596670efa54fee52e6500854c159db696cb8134d4d45bbb5

Contents?: true

Size: 992 Bytes

Versions: 9

Compression:

Stored size: 992 Bytes

Contents

require 'br_invoices_pdf/cfe/parser/access_key'
require 'br_invoices_pdf/cfe/parser/company_attributes'
require 'br_invoices_pdf/cfe/parser/cpf'
require 'br_invoices_pdf/cfe/parser/document_number'
require 'br_invoices_pdf/cfe/parser/fisco_obs'
require 'br_invoices_pdf/cfe/parser/payment'
require 'br_invoices_pdf/cfe/parser/payments'
require 'br_invoices_pdf/cfe/parser/products_data'
require 'br_invoices_pdf/cfe/parser/sat'

module BrInvoicesPdf
  module Cfe
    module Parser
      module_function

      PARSERERS = {
        sat_params: Sat,
        document_number: DocumentNumber,
        payment: Payment,
        payments: Payments,
        products: ProductsData,
        company_attributes: CompanyAttributes,
        fisco_obs: FiscoObs,
        access_key: AccessKey,
        cpf: Cpf
      }.freeze

      def parse(xml)
        PARSERERS.reduce({}) do |response, (param, parser)|
          { **response, param => parser.execute(xml) }
        end
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
br_invoices_pdf-0.2.4 lib/br_invoices_pdf/cfe/parser.rb
br_invoices_pdf-0.2.4.alpha.15 lib/br_invoices_pdf/cfe/parser.rb
br_invoices_pdf-0.2.4.alpha.14 lib/br_invoices_pdf/cfe/parser.rb
br_invoices_pdf-0.2.3 lib/br_invoices_pdf/cfe/parser.rb
br_invoices_pdf-0.2.2 lib/br_invoices_pdf/cfe/parser.rb
br_invoices_pdf-0.2.1 lib/br_invoices_pdf/cfe/parser.rb
br_invoices_pdf-0.2.0 lib/br_invoices_pdf/cfe/parser.rb
br_invoices_pdf-0.2.0.alpha.13 lib/br_invoices_pdf/cfe/parser.rb
br_invoices_pdf-0.2.0.alpha.12 lib/br_invoices_pdf/cfe/parser.rb