Sha256: 465058bea3e80af007c6b38c0f537c9ea04f232377753a67d963009a3fdb2bb0

Contents?: true

Size: 652 Bytes

Versions: 21

Compression:

Stored size: 652 Bytes

Contents

# frozen_string_literal: true

module BrInvoicesPdf
  module Nfce
    module Parser
      module Totals
        extend Util::XmlLocate

        module_function

        def total_root_path(xml)
          "#{root_path(xml)}/total/ICMSTot"
        end

        def execute(xml)
          root_path = total_root_path(xml)

          {
            items: Products.execute(xml).count,
            subtotal: locate_element(xml, "#{root_path}/vProd"),
            discounts: locate_element(xml, "#{root_path}/vDesc"),
            total: locate_element(xml, "#{root_path}/vNF"),
            cashback: '0.00'
          }
        end
      end
    end
  end
end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
br_invoices_pdf-0.2.8 lib/br_invoices_pdf/nfce/parser/totals.rb