Class: MCFDI::Taxes

Inherits:
Base
  • Object
show all
Defined in:
lib/m_cfdi/taxes.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from Base

attr_accessor, attributes, #attributes, #to_h

Constructor Details

#initializeTaxes

Returns a new instance of Taxes.



12
13
14
15
# File 'lib/m_cfdi/taxes.rb', line 12

def initialize
  @transferred = []
  @detained = []
end

Instance Attribute Details

#detainedObject

Returns the value of attribute detained.



10
11
12
# File 'lib/m_cfdi/taxes.rb', line 10

def detained
  @detained
end

#transferredObject

Returns the value of attribute transferred.



10
11
12
# File 'lib/m_cfdi/taxes.rb', line 10

def transferred
  @transferred
end

Instance Method Details

#countObject

return count of all taxes.



30
31
32
# File 'lib/m_cfdi/taxes.rb', line 30

def count
  @transferred.count + @detained.count
end

#detained_original_stringObject

return original string of all detained taxes.



72
73
74
75
76
77
78
# 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_detainedObject

return total of all detained taxes.



24
25
26
27
# File 'lib/m_cfdi/taxes.rb', line 24

def total_detained
  return 0 unless @detained.any?
  @detained.map(&:import).reduce(:+)
end

#total_transferredObject

return total of all transferred taxes.



18
19
20
21
# File 'lib/m_cfdi/taxes.rb', line 18

def total_transferred
  return 0 unless @transferred.any?
  @transferred.map(&:import).reduce(:+)
end

#transferred_original_stringObject

return original string of all transferred taxes.



63
64
65
66
67
68
69
# File 'lib/m_cfdi/taxes.rb', line 63

def transferred_original_string
  os = []
  @transferred.each do |trans|
    os += trans.original_string
  end
  os
end