Class: FE::Document::Tax

Inherits:
Object
  • Object
show all
Includes:
ActiveModel::Validations
Defined in:
lib/facturacr/document/tax.rb

Constant Summary collapse

TAX_CODES =
{
  "01"=>"Impuesto General sobre las Ventas",
  "02"=>"Impuesto Selectivo de Consumo",
  "03"=>"Impuesto Único a los combustibles",
  "04"=>"Impuesto específico de bebidas alcohólicas",
  "05"=>"Impuesto Específico sobre las bebidas envasadas sin contenido alcóholico y jabones de tocador",
  "06"=>"Impuesto a los Productos de Tabaco",
  "07"=>"Servicio",
  "12"=>"Impuesto específico al cemento",
  "98"=>"Otros",
  "08"=>"Impuesto General sobre las ventas diplomáticos",
  "09"=>"Impuesto general sobre las ventas Compras autorizadas",
  "10"=>"Impuesto general sobre las ventas instituciones públicas y otros organismos",
  "11"=>"Impuesto Selectivo de Consumo Compras Autorizadas",
  "99"=>"Otros"
}

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(args = {}) ⇒ Tax

Returns a new instance of Tax.



25
26
27
28
29
# File 'lib/facturacr/document/tax.rb', line 25

def initialize(args={})
  @code = args[:code]
  @rate = args[:rate]
  @total = args[:total]
end

Instance Attribute Details

#codeObject

Returns the value of attribute code.



22
23
24
# File 'lib/facturacr/document/tax.rb', line 22

def code
  @code
end

#rateObject

Returns the value of attribute rate.



22
23
24
# File 'lib/facturacr/document/tax.rb', line 22

def rate
  @rate
end

#totalObject

Returns the value of attribute total.



22
23
24
# File 'lib/facturacr/document/tax.rb', line 22

def total
  @total
end

Instance Method Details

#build_xml(node) ⇒ Object



31
32
33
34
35
36
37
38
39
40
# File 'lib/facturacr/document/tax.rb', line 31

def build_xml(node)
  raise "Invalida Record: #{errors.messages}" unless valid?
  node = Nokogiri::XML::Builder.new if node.nil?
  
  node.Impuesto do |xml|
    xml.Codigo @code
    xml.Tarifa @rate
    xml.Monto @total
  end
end