Class: Identificamex::Rfc::RfcGenerator

Inherits:
Object
  • Object
show all
Defined in:
lib/identificamex/rfc/rfc_generator.rb

Overview

Clase responsable de generar un RFC. Recibe el rfc y un ‘hash` con los valores del nombre, primer apellido, segundo apellido y fecha de nacimiento en caso de ser una persona física, o bien, razón social y fecha de creación en caso de ser una persona moral.

Ejemplos:

generator = RfcGenerator.new(nombre:           'Juan',
                             primer_apellido:  'Barrios',
                             segundo_apellido: 'Fernández',
                             fecha_nacimiento: Date.new(1970, 12, 13))
generator.rfc
# => 'BAFJ701213'

validator = RfcGenerator.new(nombre:           'Juan',
                             primer_apellido:  'Martínez',
                             segundo_apellido: nil,
                             fecha_nacimiento: Date.new(1970, 12, 13))
generator.rfc
# => 'MAJU701213'

generator = RfcGenerator.new(razon_social: 'Sonora Industrial Azucarera, S. de R.L',
                             fecha_creacion: Date.new(1983, 03, 05))
generator.rfc
# => 'SIA8303054L5'

generator = RfcGenerator.new(razon_social: 'Los Viajes Internacionales de Marco Polo, S.A.',
                             fecha_creacion: Date.new(1983, 03, 05))
generator.rfc
# => 'VIM8303056B6'

Instance Method Summary collapse

Constructor Details

#initialize(params) ⇒ RfcGenerator

Returns a new instance of RfcGenerator.



41
42
43
44
45
46
# File 'lib/identificamex/rfc/rfc_generator.rb', line 41

def initialize(params)
  @nombre_completo  = build_nombre_completo(params)
  @razon_social     = build_razon_social(params)
  @fecha_nacimiento = params[:fecha_nacimiento]
  @fecha_creacion   = params[:fecha_creacion]
end

Instance Method Details

#rfcObject



48
49
50
# File 'lib/identificamex/rfc/rfc_generator.rb', line 48

def rfc
  @rfc ||= generar_rfc
end