class Identificamex::Nombre::NombreCompleto
Public Class Methods
new(params)
click to toggle source
# File lib/identificamex/nombre/nombre_completo.rb, line 10 def initialize(params) @nombre = mayusculas(params[:nombre]) @primer_apellido = mayusculas(params[:primer_apellido]) @segundo_apellido = mayusculas(params[:segundo_apellido]) @nombre_simplificado = normalizar_nombre(@nombre) @primer_apellido_simplificado = normalizar_apellido(@primer_apellido) @segundo_apellido_simplificado = normalizar_apellido(@segundo_apellido) end
Public Instance Methods
siglas()
click to toggle source
# File lib/identificamex/nombre/nombre_completo.rb, line 19 def siglas @siglas ||= PalabraInconveniente.convertir(extraer_siglas) end
to_s()
click to toggle source
# File lib/identificamex/nombre/nombre_completo.rb, line 23 def to_s "#{@primer_apellido} #{@segundo_apellido} #{@nombre}" end
Private Instance Methods
extraer_siglas()
click to toggle source
# File lib/identificamex/nombre/nombre_completo.rb, line 39 def extraer_siglas if siglas_apellidos_completa? siglas_apellidos + primera_letra_nombre else siglas_apellidos + primeras_dos_letras_nombre end end
generar_siglas_apellidos()
click to toggle source
# File lib/identificamex/nombre/nombre_completo.rb, line 55 def generar_siglas_apellidos return @segundo_apellido_simplificado[0, 2] if sin_primer_apellido? return @primer_apellido_simplificado[0, 2] if sin_segundo_apellido? primera_letra_primer_apellido + primera_vocal_interna_primer_apellido.to_s + primera_letra_segundo_apellido end
normalizar_apellido(apellido)
click to toggle source
# File lib/identificamex/nombre/nombre_completo.rb, line 35 def normalizar_apellido(apellido) NormalizadorApellido.new(apellido).normalizar if apellido end
normalizar_nombre(nombre)
click to toggle source
primera_letra_nombre()
click to toggle source
# File lib/identificamex/nombre/nombre_completo.rb, line 86 def primera_letra_nombre @nombre_simplificado[0] if @nombre_simplificado.present? end
primera_letra_primer_apellido()
click to toggle source
# File lib/identificamex/nombre/nombre_completo.rb, line 71 def primera_letra_primer_apellido @primer_apellido_simplificado[0] if @primer_apellido_simplificado.present? end
primera_letra_segundo_apellido()
click to toggle source
# File lib/identificamex/nombre/nombre_completo.rb, line 82 def primera_letra_segundo_apellido @segundo_apellido_simplificado[0] if @segundo_apellido_simplificado.present? end
primera_vocal_interna_primer_apellido()
click to toggle source
# File lib/identificamex/nombre/nombre_completo.rb, line 75 def primera_vocal_interna_primer_apellido return unless @primer_apellido_simplificado.present? apellido = @primer_apellido_simplificado[1..-1] posicion_primera_vocal = apellido =~ /[AEIOU]/ apellido[posicion_primera_vocal] if posicion_primera_vocal end
primeras_dos_letras_nombre()
click to toggle source
# File lib/identificamex/nombre/nombre_completo.rb, line 90 def primeras_dos_letras_nombre @nombre_simplificado[0, 2] if @nombre_simplificado.present? end
siglas_apellidos()
click to toggle source
# File lib/identificamex/nombre/nombre_completo.rb, line 47 def siglas_apellidos @siglas_apellidos ||= generar_siglas_apellidos end
siglas_apellidos_completa?()
click to toggle source
# File lib/identificamex/nombre/nombre_completo.rb, line 51 def siglas_apellidos_completa? siglas_apellidos.length == 3 end
sin_primer_apellido?()
click to toggle source
# File lib/identificamex/nombre/nombre_completo.rb, line 63 def sin_primer_apellido? @primer_apellido_simplificado.nil? end
sin_segundo_apellido?()
click to toggle source
# File lib/identificamex/nombre/nombre_completo.rb, line 67 def sin_segundo_apellido? @segundo_apellido_simplificado.nil? end