Class: Cfdi40::Complemento

Inherits:
Node
  • Object
show all
Defined in:
lib/cfdi40/complemento.rb

Instance Attribute Summary

Attributes inherited from Node

#children_nodes, #element_name, #parent_node, #readonly, #xml_document, #xml_parent

Instance Method Summary collapse

Methods inherited from Node

#add_attributes_to, #add_child_node, #add_children_to, #add_namespaces_to, #attibute_is_null?, attributes, #clean_cached_xml, #create_xml_node, #current_namespace, default_values, define_attribute, define_element_name, define_namespace, define_reader, define_writer, #delete_child, element_name, #expanded_element_name, formats, #formatted_value, #initialize, #load_from_ng_node, #lock, namespaces, #set_defaults, verify_class_variables

Constructor Details

This class inherits a constructor from Cfdi40::Node

Instance Method Details

#add_pago(attributes = {}) ⇒ Object

See Comprobante#add_pago



6
7
8
9
# File 'lib/cfdi40/complemento.rb', line 6

def add_pago(attributes = {})
  pagos.totales_node
  pagos.add_pago(attributes)
end

#add_splitted_pago(attributes = {}) ⇒ Object



11
12
13
14
# File 'lib/cfdi40/complemento.rb', line 11

def add_splitted_pago(attributes = {})
  pagos.totales_node
  pagos.add_splitted_pago(attributes)
end

#load_pagos(pagos_node) ⇒ Object



31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/cfdi40/complemento.rb', line 31

def load_pagos(pagos_node)
  @pagos = Cfdi40::Pagos.new
  @pagos.load_from_ng_node(pagos_node)
  @pagos.parent_node = self
  totales_node = pagos_node.xpath("//pago20:Totales", Cfdi40::Pagos::NG_NAMESPACE).first
  @pagos.load_totales(totales_node) unless totales_node.nil?
  pagos_node.xpath("//pago20:Pago", Cfdi40::Pagos::NG_NAMESPACE).each do |pago_node|
    @pagos.load_pago(pago_node)
  end
  @children_nodes << @pagos
  @pagos
end

#pago_nodesObject



16
17
18
19
20
# File 'lib/cfdi40/complemento.rb', line 16

def pago_nodes
  return [] unless defined?(@pagos)

  pagos.pago_nodes
end

#pagosObject



22
23
24
25
26
27
28
29
# File 'lib/cfdi40/complemento.rb', line 22

def pagos
  return @pagos if defined?(@pagos)

  @pagos = Pagos.new
  @pagos.parent_node = self
  @children_nodes << @pagos
  @pagos
end

#timbreObject



44
45
46
# File 'lib/cfdi40/complemento.rb', line 44

def timbre
  @children_nodes.select { |children| children.is_a?(Cfdi40::Timbre) }.first
end