class Fiscalizer::Serializers::Tax

Attributes

object[R]
xml[R]

Public Class Methods

new(xml, object) click to toggle source
# File lib/fiscalizer/serializers/tax.rb, line 4
def initialize(xml, object)
  @xml = xml
  @object = object
end

Public Instance Methods

call() click to toggle source
# File lib/fiscalizer/serializers/tax.rb, line 11
def call
  add_vat_tax
  add_spending_tax
  add_other_taxes
  add_general_tax_info
end

Private Instance Methods

add_general_tax_info() click to toggle source
# File lib/fiscalizer/serializers/tax.rb, line 59
def add_general_tax_info
  add_tax_liberation
  add_tax_margin
  add_non_taxable
end
add_non_taxable() click to toggle source
# File lib/fiscalizer/serializers/tax.rb, line 75
def add_non_taxable
  return if object.value_non_taxable_str.nil?
  xml['tns'].IznosNePodlOpor object.value_non_taxable_str
end
add_other_taxes() click to toggle source
# File lib/fiscalizer/serializers/tax.rb, line 40
def add_other_taxes
  return if object.tax_other.empty?

  xml['tns'].OstaliPor do
    object.tax_other.each do |tax|
      add_tax(tax, true)
    end
  end
end
add_spending_tax() click to toggle source
# File lib/fiscalizer/serializers/tax.rb, line 30
def add_spending_tax
  return if object.tax_spending.empty?

  xml['tns'].Pnp do
    object.tax_spending.each do |tax|
      add_tax(tax)
    end
  end
end
add_tax(tax, include_name = false) click to toggle source
# File lib/fiscalizer/serializers/tax.rb, line 50
def add_tax(tax, include_name = false)
  xml['tns'].Porez do
    xml['tns'].Naziv tax.name if include_name
    xml['tns'].Stopa tax.rate_str
    xml['tns'].Osnovica tax.base_str
    xml['tns'].Iznos tax.total_str
  end
end
add_tax_liberation() click to toggle source
# File lib/fiscalizer/serializers/tax.rb, line 65
def add_tax_liberation
  return if object.value_tax_liberation_str.nil?
  xml['tns'].IznosOslobPdv object.value_tax_liberation_str
end
add_tax_margin() click to toggle source
# File lib/fiscalizer/serializers/tax.rb, line 70
def add_tax_margin
  return if object.value_tax_margin_str.nil?
  xml['tns'].IznosMarza object.value_tax_margin_str
end
add_vat_tax() click to toggle source
# File lib/fiscalizer/serializers/tax.rb, line 20
def add_vat_tax
  return if object.tax_vat.empty?

  xml['tns'].Pdv do
    object.tax_vat.each do |tax|
      add_tax(tax)
    end
  end
end