Class: Identificamex::Nombre::NormalizadorNombre

Inherits:
Object
  • Object
show all
Includes:
Mayusculas
Defined in:
lib/identificamex/nombre/normalizador_nombre.rb

Overview

Clase base para normalizar las cadenas de nombres y apellidos. La clase se encarga de convertir a mayúsculas las cadenas y recorre los nombres para descartar los nombres ignorados.

Los nombres ignorados deben ser provistos por las clases que hereden. Para nombres, se ignoran los siguientes: ‘%w[JOSE MARIA DE LA DEL LOS]`.

Ejemplo:

NormalizadorNombre.new('María del Carmen').normalizar
# => CARMEN

NormalizadorNombre.new('José Mario').normalizar
# => MARIO

NormalizadorNombre.new('María de los Ángeles').normalizar
# => ANGELES

NormalizadorNombre.new('José de Jesús').normalizar
# => JESUS

NormalizadorNombre.new('María').normalizar
# => MARIA

NormalizadorNombre.new('José Mario').normalizar
# => MARIO

NormalizadorNombre.new('José').normalizar
# => JOSE

Direct Known Subclasses

NormalizadorApellido

Instance Method Summary collapse

Methods included from Mayusculas

#hash_vocales, #mayusculas

Constructor Details

#initialize(nombre) ⇒ NormalizadorNombre

Returns a new instance of NormalizadorNombre.



39
40
41
# File 'lib/identificamex/nombre/normalizador_nombre.rb', line 39

def initialize(nombre)
  @nombre = mayusculas(nombre)
end

Instance Method Details

#normalizarObject



43
44
45
# File 'lib/identificamex/nombre/normalizador_nombre.rb', line 43

def normalizar
  nombre_aceptado || primer_nombre
end