module FacturacionElectronica

Constants

PACS
VERSION

Public Class Methods

cancel_cfdi(request) click to toggle source
# File lib/facturacion_electronica.rb, line 8
def self.cancel_cfdi request
  pac_service = choose_service(request[:pac_provider], '', request[:user_keys])
  pac_service.cancel request[:user_keys],
    request[:biller][:rfc],
    request[:uuid]
end
create_cfdi(request) click to toggle source
# File lib/facturacion_electronica.rb, line 15
def self.create_cfdi request
  if valid_params?(request)
    new_xml_request = (BillXmlRequest.new_xml request[:biller],
                        request[:bill]).generate_xml_request
    pac_service = choose_service(request[:pac_provider], new_xml_request, request[:user_keys])
    pac_service.rining request[:user_keys]
  else
    { status: false, error_msg: 'Parametros invalidos' }
  end
end
register_rfc(request) click to toggle source
# File lib/facturacion_electronica.rb, line 26
def self.register_rfc request
  pac_service = choose_service(request[:pac_provider], '', request[:user_keys])
  pac_service.enable_rfc request[:user_keys], request[:biller]
end

Private Class Methods

choose_service(pac_provider, xml_request, user_keys) click to toggle source
# File lib/facturacion_electronica.rb, line 46
def choose_service(pac_provider, xml_request, user_keys)
  PACS[pac_provider].new xml_request, user_keys
end
is_valid?(param_value) click to toggle source
# File lib/facturacion_electronica.rb, line 42
def is_valid? param_value
  !param_value.empty?
end
valid_params?(request) click to toggle source
# File lib/facturacion_electronica.rb, line 34
def valid_params? request
  result = true
  [:user_keys, :pac_provider, :biller, :bill].each do |k|
    result = (request.has_key?(k) && is_valid?(request[k])) unless result == false
  end
  result
end