class MCFDI::Taxes

Attributes

detained[RW]
transferred[RW]

Public Class Methods

new() click to toggle source
# File lib/m_cfdi/taxes.rb, line 12
def initialize
  @transferred = []
  @detained = []
end

Public Instance Methods

count() click to toggle source

return count of all taxes.

# File lib/m_cfdi/taxes.rb, line 30
def count
  @transferred.count + @detained.count
end
detained=(data) click to toggle source
# File lib/m_cfdi/taxes.rb, line 48
def detained=(data)
  if data.is_a? Array
    data.map do |c|
      c << Detained.new(c) unless c.is_a? Detained
      @detained << c
    end
  elsif data.is_a? Hash
    @detained << Detained.new(data)
  elsif data.is_a? Detained
    @detained << data
  end
  @detained
end
detained_original_string() click to toggle source

return original string of all detained taxes.

# File lib/m_cfdi/taxes.rb, line 72
def detained_original_string
  os = []
  @detained.each do |detaind|
    os += detaind.original_string
  end
  os
end
total_detained() click to toggle source

return total of all detained taxes.

# File lib/m_cfdi/taxes.rb, line 24
def total_detained
  return 0 unless @detained.any?
  @detained.map(&:import).reduce(:+)
end
total_transferred() click to toggle source

return total of all transferred taxes.

# File lib/m_cfdi/taxes.rb, line 18
def total_transferred
  return 0 unless @transferred.any?
  @transferred.map(&:import).reduce(:+)
end
transferred=(data) click to toggle source
# File lib/m_cfdi/taxes.rb, line 34
def transferred=(data)
  if data.is_a? Array
    data.map do |c|
      c = Transferred.new(c) unless c.is_a? Tansferred
      @transferred << c
    end
  elsif data.is_a? Hash
    @transferred << Transferred.new(data)
  elsif data.is_a? Transferred
    @transferred << data
  end
  @transferred
end
transferred_original_string() click to toggle source

return original string of all transferred taxes.

# File lib/m_cfdi/taxes.rb, line 63
def transferred_original_string
  os = []
  @transferred.each do |trans|
    os += trans.original_string
  end
  os
end