class Fiscalizer::Invoice

Attributes

consistance_mark[R]
fees[R]
generated_xml[RW]
in_vat_system[R]
issued_machine[R]
issued_number[R]
issued_office[R]
operator_pin[R]
paragon_label[R]
payment_method[R]
pin[R]
security_code[RW]
specific_purpose[R]
subsequent_delivery[R]
summed_total[R]
tax_other[R]
tax_spending[R]
tax_vat[R]
time_issued[R]
time_sent[R]
uuid[R]
value_non_taxable[R]
value_tax_liberation[R]
value_tax_margin[R]

Public Class Methods

new(uuid:, time_sent:, pin:, in_vat_system:, time_issued:, consistance_mark:, issued_number:, issued_office:, issued_machine:, summed_total:, payment_method:, operator_pin:, subsequent_delivery:, tax_vat: [], tax_spending: [], tax_other: [], value_tax_liberation: nil, value_tax_margin: nil, value_non_taxable: nil, fees: [], paragon_label: nil, specific_purpose: nil) click to toggle source

rubocop:disable Metrics/ParameterLists, Metrics/AbcSize, Metrics/MethodLength

# File lib/fiscalizer/data_objects/invoice.rb, line 4
def initialize(uuid:, time_sent:, pin:, in_vat_system:, time_issued:, consistance_mark:,
               issued_number:, issued_office:, issued_machine:, summed_total:,
               payment_method:, operator_pin:, subsequent_delivery:,
               tax_vat: [], tax_spending: [], tax_other: [],
               value_tax_liberation: nil, value_tax_margin: nil, value_non_taxable: nil,
               fees: [], paragon_label: nil, specific_purpose: nil)

  @uuid = uuid
  @time_sent = time_sent
  @pin = pin
  @in_vat_system = in_vat_system
  @time_issued = time_issued
  @consistance_mark = consistance_mark
  @issued_number = issued_number
  @issued_office = issued_office
  @issued_machine = issued_machine
  @tax_vat = tax_vat
  @tax_spending = tax_spending
  @tax_other = tax_other
  @value_tax_liberation = value_tax_liberation
  @value_tax_margin = value_tax_margin
  @value_non_taxable = value_non_taxable
  @fees = fees
  @summed_total = summed_total
  @payment_method = payment_method
  @operator_pin = operator_pin
  @subsequent_delivery = subsequent_delivery
  @paragon_label = paragon_label
  @specific_purpose = specific_purpose
end

Public Instance Methods

summed_total_str() click to toggle source
# File lib/fiscalizer/data_objects/invoice.rb, line 54
def summed_total_str
  format_decimal(summed_total)
end
time_issued_str(separator = 'T') click to toggle source
# File lib/fiscalizer/data_objects/invoice.rb, line 46
def time_issued_str(separator = 'T')
  time_issued.strftime("%d.%m.%Y#{separator}%H:%M:%S")
end
time_sent_str(separator = 'T') click to toggle source
# File lib/fiscalizer/data_objects/invoice.rb, line 50
def time_sent_str(separator = 'T')
  time_sent.strftime("%d.%m.%Y#{separator}%H:%M:%S")
end
value_non_taxable_str() click to toggle source
# File lib/fiscalizer/data_objects/invoice.rb, line 68
def value_non_taxable_str
  return if value_non_taxable.nil?
  format_decimal(value_non_taxable.round(2))
end
value_tax_liberation_str() click to toggle source
# File lib/fiscalizer/data_objects/invoice.rb, line 58
def value_tax_liberation_str
  return if value_tax_liberation.nil?
  format_decimal(value_tax_liberation.round(2))
end
value_tax_margin_str() click to toggle source
# File lib/fiscalizer/data_objects/invoice.rb, line 63
def value_tax_margin_str
  return if value_tax_margin.nil?
  format_decimal(value_tax_margin.round(2))
end

Private Instance Methods

format_decimal(value) click to toggle source
# File lib/fiscalizer/data_objects/invoice.rb, line 75
def format_decimal(value)
  format('%15.2f', value).strip
end