Sha256: 159ef2a72dcfd8751ec19803675b04bcbb73ae5b2da39220cd724dab00f6521a

Contents?: true

Size: 1.04 KB

Versions: 1

Compression:

Stored size: 1.04 KB

Contents

require 'ruby_xml_nfe/icms'
require 'ruby_xml_nfe/ipi'
require 'ruby_xml_nfe/ii'
require 'ruby_xml_nfe/pis'
require 'ruby_xml_nfe/cofins'

module RubyXmlNfe
  class Imposto
    attr_reader :xml, :icms_params, :ipi_params, :ii_params, :pis_params, :cofins_params

    def initialize(xml, params)
      @xml = xml
      @icms_params = params[:ICMS]
      @ipi_params = params[:IPI]
      @ii_params = params[:II]
      @pis_params = params[:PIS]
      @cofins_params = params[:COFINS]
    end

    def build
      xml.imposto do
        icms = RubyXmlNfe::Icms.new(xml, icms_params)
        icms.build

        if ipi_params
          ipi = RubyXmlNfe::Ipi.new(xml, ipi_params)
          ipi.build
        end

        if ii_params
          ii = RubyXmlNfe::Ii.new(xml, ii_params)
          ii.build
        end

        if pis_params
          pis = RubyXmlNfe::Pis.new(xml, pis_params)
          pis.build
        end

        if cofins_params
          cofins = RubyXmlNfe::Cofins.new(xml, cofins_params)
          cofins.build
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
ruby_xml_nfe-0.1.0 lib/ruby_xml_nfe/imposto.rb