class CFDI::ElementoComprobante

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

Public Class Methods

data() click to toggle source

Los elementos para generar la cadena original de este comprobante

@return [Array] idem

# File lib/comun.rb, line 57
def self.data
  @cadenaOriginal
end
new(data={}) click to toggle source

Crear este elemento y settear lo que le pasemos como hash en un tipo de dato adecuado @param data [Hash] Los datos para este elemento

@return [CFDI::ElementoComprobante] El elemento creado

# 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

Public Instance Methods

cadena_original() click to toggle source

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

@return [Array] idem

# 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_h() click to toggle source

Los datos xmleables de este elemento

@return [Hash] idem

# 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