Class: MCFDI::Certificate

Inherits:
OpenSSL::X509::Certificate
  • Object
show all
Defined in:
lib/m_cfdi/certificate.rb

Overview

Certificate class to generate invoice certification from .cer.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(file) ⇒ CFDI::Certificado

Importar un certificado de sellado

Parameters:

  • file (IO, String)

    El ‘path` del certificado o un objeto #IO



19
20
21
22
23
24
25
26
27
28
29
# File 'lib/m_cfdi/certificate.rb', line 19

def initialize (file)
  if file.is_a? String
    file = File.read(file)
  end
  super file
  
  @certificate_number = '';
  self.serial.to_s(16).scan(/.{2}/).each { |v| @certificate_number += v[1]; }
  @data = self.to_s.gsub(/^-.+/, '').gsub(/\n/, '')
  
end

Instance Attribute Details

#certificate_numberObject (readonly)

Certificate Number



11
12
13
# File 'lib/m_cfdi/certificate.rb', line 11

def certificate_number
  @certificate_number
end

#dataObject (readonly)

Certificate in Base64



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

def data
  @data
end

Instance Method Details

#certificate(invoice) ⇒ Object



31
32
33
34
# File 'lib/m_cfdi/certificate.rb', line 31

def certificate(invoice)
  invoice.certificate_number = @certificate_number
  invoice.certificate = @data
end