Class: CFDI::ElementoComprobante

Inherits:
Object
  • Object
show all
Defined in:
lib/comun.rb

Overview

Un elemento del comprobante con métodos mágicos y especiales

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(data = {}) ⇒ CFDI::ElementoComprobante

Crear este elemento y settear lo que le pasemos como hash en un tipo de dato adecuado

Parameters:

  • (defaults to: {})

    Los datos para este elemento



44
45
46
47
48
49
50
51
# File 'lib/comun.rb', line 44

def initialize data={}
  #puts self.class
  data.each do |k,v|
    method = "#{k}=".to_sym
    next if !self.respond_to? method
    self.send method, v
  end
end

Class Method Details

.dataArray

Los elementos para generar la cadena original de este comprobante

Returns:

  • idem



57
58
59
# File 'lib/comun.rb', line 57

def self.data
  @cadenaOriginal
end

Instance Method Details

#cadena_originalArray

Un array con los datos de la cadena original para este elemento

Returns:

  • idem



65
66
67
68
69
70
71
72
73
# File 'lib/comun.rb', line 65

def cadena_original
  params = []
  data = {}
  data = self.class.data
 # puts self.class.cadenaOriginal

  data.each {|key| params.push instance_variable_get('@'+key.to_s) }
  return params
end

#to_hHash

Los datos xmleables de este elemento

Returns:

  • idem



79
80
81
82
83
84
85
86
87
88
# File 'lib/comun.rb', line 79

def to_h
  h = {}
  self.class.data.each do |v|
    value = self.send(v)
    value = value.to_h if value.is_a? ElementoComprobante
    h[v] = value
  end

  h
end