Sha256: dbcf285fa431b6630a30a467fa9557d339c7cb249a8be9c68541ba08ac909db8

Contents?: true

Size: 739 Bytes

Versions: 1

Compression:

Stored size: 739 Bytes

Contents

module BuhoCfdi
  require 'openssl'
 
  class Certificate
     
    attr_reader :certificate_number, :certificate_value
 
    def initialize (file)
      if file.is_a? String
        file = file
      end
      certificate = OpenSSL::X509::Certificate.new(file)
      @certificate_number = '';
      certificate.serial.to_s(16).scan(/.{2}/).each { |v| @certificate_number += v[1]; }
      @certificate_value = certificate.to_s.gsub(/^-.+/, '').gsub(/\n/, '')
      
    end

    def certificate(xml)
      xml = Nokogiri::XML(xml)
      xml.at_css('cfdi|Comprobante').set_attribute('NoCertificado',@certificate_number)
      xml.at_css('cfdi|Comprobante').set_attribute('Certificado',@certificate_value)
      xml.to_xml
    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
buho_cfdi-0.1.12 lib/buho_cfdi/certificate.rb