class CFDI::Certificado

Certificados en formato X590

En español, el archivo `.cer`

Attributes

data[R]

el certificado en Base64

noCertificado[R]

el número de certificado

Public Class Methods

new(file) click to toggle source

Importar un certificado de sellado @param file [IO, String] El `path` del certificado o un objeto #IO

@return [CFDI::Certificado] Un certificado

Calls superclass method
# File lib/certificado.rb, line 19
def initialize (file)
  
  if file.is_a? String
    file = File.read(file)
  end
        
  super file
  
  @noCertificado = '';
  # Normalmente son strings de tipo:
  # 3230303031303030303030323030303030323933
  # por eso sólo tomamos cada segundo dígito
  self.serial.to_s(16).scan(/.{2}/).each {|v| @noCertificado += v[1]; }
  @data = self.to_s.gsub(/^-.+/, '').gsub(/\n/, '')
  
end

Public Instance Methods

certifica(factura) click to toggle source

Certifica una factura @param factura [CFDI::Comprobante] El comprobante a certificar

@return [CFDI::Comprobante] El comprobante certificado (con `#noCertificado` y `#certificado`)

# File lib/certificado.rb, line 41
def certifica factura
  
  factura.noCertificado = @noCertificado
  factura.certificado = @data
  
end