Skip to content

Commit

Permalink
Add gender to name generator
Browse files Browse the repository at this point in the history
  • Loading branch information
MaicolBen committed Jun 25, 2018
1 parent 38f0436 commit bd2507e
Show file tree
Hide file tree
Showing 7 changed files with 37 additions and 4 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
### Latest update: 2018-06-20

### Feature Request
- [PR #551](https://github.com/stympy/faker/pull/551) Add gender to name generator [@Maicolben](https://github.com/Maicolben)
- [PR #1283](https://github.com/stympy/faker/pull/1283) Add Faker::Military [@jjasghar](https://github.com/jjasghar)
- [PR #1279](https://github.com/stympy/faker/pull/1279) Add Faker::HarryPotter.spell [@A9u](https://github.com/A9u)
- [PR #799](https://github.com/stympy/faker/pull/799) Faker::ElectricalComponents [@bheim6](https://github.com/bheim6)
Expand Down
4 changes: 4 additions & 0 deletions doc/name.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@ Faker::Name.first_name #=> "Kaci"

Faker::Name.middle_name #=> "Abraham"

Faker::Name.male_first_name #=> "Edward"

Faker::Name.female_first_name #=> "Natasha"

Faker::Name.last_name #=> "Ernser"

Faker::Name.prefix #=> "Mr."
Expand Down
14 changes: 13 additions & 1 deletion lib/faker/name.rb
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,19 @@ def name_with_middle
end

def first_name
parse('name.first_name')
if parse('name.first_name').empty?
fetch('name.first_name')
else
parse('name.first_name')
end
end

def male_first_name
fetch('name.male_first_name')
end

def female_first_name
fetch('name.female_first_name')
end

def last_name
Expand Down
6 changes: 5 additions & 1 deletion lib/locales/en/name.yml

Large diffs are not rendered by default.

6 changes: 5 additions & 1 deletion lib/locales/es.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,11 @@ es:
domain_suffix: [com, es, info, com.es, org]

name:
first_name: [Adán, Agustín, Alberto, Alejandro, Alfonso, Alfredo, Andrés, Antonio, Armando, Arturo, Benito, Benjamín, Bernardo, Carlos, César, Claudio, Clemente, Cristian, Cristobal, Daniel, David, Diego, Eduardo, Emilio, Enrique, Ernesto, Esteban, Federico, Felipe, Fernando, Francisco, Gabriel, Gerardo, Germán, Gilberto, Gonzalo, Gregorio, Guillermo, Gustavo, Hernán, Homero, Horacio, Hugo, Ignacio, Jacobo, Jaime, Javier, Jerónimo, Jesús, Joaquín, Jorge, Jorge Luis, José, José Eduardo, José Emilio, José Luis, José María, Juan, Juan Carlos, Julio, Julio César, Lorenzo, Lucas, Luis, Luis Miguel, Manuel, Marco Antonio, Marcos, Mariano, Mario, Martín, Mateo, Miguel, Miguel Ángel, Nicolás, Octavio, Óscar, Pablo, Patricio, Pedro, Rafael, Ramiro, Ramón, Raúl, Ricardo, Roberto, Rodrigo, Rubén, Salvador, Samuel, Sancho, Santiago, Sergio, Teodoro, Timoteo, Tomás, Vicente, Víctor, Adela, Adriana, Alejandra, Alicia, Amalia, Ana, Ana Luisa, Ana María, Andrea, Anita, Ángela, Antonia, Ariadna, Barbara, Beatriz, Berta, Blanca, Caridad, Carla, Carlota, Carmen, Carolina, Catalina, Cecilia, Clara, Claudia, Concepción, Conchita, Cristina, Daniela, Débora, Diana, Dolores, Lola, Dorotea, Elena, Elisa, Eloisa, Elsa, Elvira, Emilia, Esperanza, Estela, Ester, Eva, Florencia, Francisca, Gabriela, Gloria, Graciela, Guadalupe, Guillermina, Inés, Irene, Isabel, Isabela, Josefina, Juana, Julia, Laura, Leonor, Leticia, Lilia, Lorena, Lourdes, Lucia, Luisa, Luz, Magdalena, Manuela, Marcela, Margarita, María, María del Carmen, María Cristina, María Elena, María Eugenia, María José, María Luisa, María Soledad, María Teresa, Mariana, Maricarmen, Marilu, Marisol, Marta, Mayte, Mercedes, Micaela, Mónica, Natalia, Norma, Olivia, Patricia, Pilar, Ramona, Raquel, Rebeca, Reina, Rocio, Rosa, Rosalia, Rosario, Sara, Silvia, Sofia, Soledad, Sonia, Susana, Teresa, Verónica, Victoria, Virginia, Yolanda]
male_first_name: [Adán, Agustín, Alberto, Alejandro, Alfonso, Alfredo, Andrés, Antonio, Armando, Arturo, Benito, Benjamín, Bernardo, Carlos, César, Claudio, Clemente, Cristian, Cristobal, Daniel, David, Diego, Eduardo, Emilio, Enrique, Ernesto, Esteban, Federico, Felipe, Fernando, Francisco, Gabriel, Gerardo, Germán, Gilberto, Gonzalo, Gregorio, Guillermo, Gustavo, Hernán, Homero, Horacio, Hugo, Ignacio, Jacobo, Jaime, Javier, Jerónimo, Jesús, Joaquín, Jorge, Jorge Luis, José, José Eduardo, José Emilio, José Luis, José María, Juan, Juan Carlos, Julio, Julio César, Lorenzo, Lucas, Luis, Luis Miguel, Manuel, Marco Antonio, Marcos, Mariano, Mario, Martín, Mateo, Miguel, Miguel Ángel, Nicolás, Octavio, Óscar, Pablo, Patricio, Pedro, Rafael, Ramiro, Ramón, Raúl, Ricardo, Roberto, Rodrigo, Rubén, Salvador, Samuel, Sancho, Santiago, Sergio, Teodoro, Timoteo, Tomás, Vicente, Víctor]
female_first_name: [Adela, Adriana, Alejandra, Alicia, Amalia, Ana, Ana Luisa, Ana María, Andrea, Anita, Ángela, Antonia, Ariadna, Barbara, Beatriz, Berta, Blanca, Caridad, Carla, Carlota, Carmen, Carolina, Catalina, Cecilia, Clara, Claudia, Concepción, Conchita, Cristina, Daniela, Débora, Diana, Dolores, Lola, Dorotea, Elena, Elisa, Eloisa, Elsa, Elvira, Emilia, Esperanza, Estela, Ester, Eva, Florencia, Francisca, Gabriela, Gloria, Graciela, Guadalupe, Guillermina, Inés, Irene, Isabel, Isabela, Josefina, Juana, Julia, Laura, Leonor, Leticia, Lilia, Lorena, Lourdes, Lucia, Luisa, Luz, Magdalena, Manuela, Marcela, Margarita, María, María del Carmen, María Cristina, María Elena, María Eugenia, María José, María Luisa, María Soledad, María Teresa, Mariana, Maricarmen, Marilu, Marisol, Marta, Mayte, Mercedes, Micaela, Mónica, Natalia, Norma, Olivia, Patricia, Pilar, Ramona, Raquel, Rebeca, Reina, Rocio, Rosa, Rosalia, Rosario, Sara, Silvia, Sofia, Soledad, Sonia, Susana, Teresa, Verónica, Victoria, Virginia, Yolanda]
first_name:
- "#{female_first_name}"
- "#{male_first_name}"
last_name: [ Abeyta, Abrego, Abreu, Acevedo, Acosta, Acuña, Adame, Adorno, Agosto, Aguayo, Águilar, Aguilera, Aguirre, Alanis, Alaniz, Alarcón, Alba, Alcala, Alcántar, Alcaraz, Alejandro, Alemán, Alfaro, Alicea, Almanza, Almaraz, Almonte, Alonso, Alonzo, Altamirano, Alva, Alvarado, Alvarez, Amador, Amaya, Anaya, Anguiano, Angulo, Aparicio, Apodaca, Aponte, Aragón, Araña, Aranda, Arce, Archuleta, Arellano, Arenas, Arevalo, Arguello, Arias, Armas, Armendáriz, Armenta, Armijo, Arredondo, Arreola, Arriaga, Arroyo, Arteaga, Atencio, Ávalos, Ávila, Avilés, Ayala, Baca, Badillo, Báez, Baeza, Bahena, Balderas, Ballesteros, Banda, Bañuelos, Barajas, Barela, Barragán, Barraza, Barrera, Barreto, Barrientos, Barrios, Batista, Becerra, Beltrán, Benavides, Benavídez, Benítez, Bermúdez, Bernal, Berríos, Bétancourt, Blanco, Bonilla, Borrego, Botello, Bravo, Briones, Briseño, Brito, Bueno, Burgos, Bustamante, Bustos, Caballero, Cabán, Cabrera, Cadena, Caldera, Calderón, Calvillo, Camacho, Camarillo, Campos, Canales, Candelaria, Cano, Cantú, Caraballo, Carbajal, Cardenas, Cardona, Carmona, Carranza, Carrasco, Carrasquillo, Carreón, Carrera, Carrero, Carrillo, Carrion, Carvajal, Casanova, Casares, Casárez, Casas, Casillas, Castañeda, Castellanos, Castillo, Castro, Cavazos, Cazares, Ceballos, Cedillo, Ceja, Centeno, Cepeda, Cerda, Cervantes, Cervántez, Chacón, Chapa, Chavarría, Chávez, Cintrón, Cisneros, Collado, Collazo, Colón, Colunga, Concepción, Contreras, Cordero, Córdova, Cornejo, Corona, Coronado, Corral, Corrales, Correa, Cortés, Cortez, Cotto, Covarrubias, Crespo, Cruz, Cuellar, Curiel, Dávila, de Anda, de Jesús, Delacrúz, Delafuente, Delagarza, Delao, Delapaz, Delarosa, Delatorre, Deleón, Delgadillo, Delgado, Delrío, Delvalle, Díaz, Domínguez, Domínquez, Duarte, Dueñas, Duran, Echevarría, Elizondo, Enríquez, Escalante, Escamilla, Escobar, Escobedo, Esparza, Espinal, Espino, Espinosa, Espinoza, Esquibel, Esquivel, Estévez, Estrada, Fajardo, Farías, Feliciano, Fernández, Ferrer, Fierro, Figueroa, Flores, Flórez, Fonseca, Franco, Frías, Fuentes, Gaitán, Galarza, Galindo, Gallardo, Gallegos, Galván, Gálvez, Gamboa, Gamez, Gaona, Garay, García, Garibay, Garica, Garrido, Garza, Gastélum, Gaytán, Gil, Girón, Godínez, Godoy, Gómez, Gonzales, González, Gollum, Gracia, Granado, Granados, Griego, Grijalva, Guajardo, Guardado, Guerra, Guerrero, Guevara, Guillen, Gurule, Gutiérrez, Guzmán, Haro, Henríquez, Heredia, Hernádez, Hernandes, Hernández, Herrera, Hidalgo, Hinojosa, Holguín, Huerta, Hurtado, Ibarra, Iglesias, Irizarry, Jaime, Jaimes, Jáquez, Jaramillo, Jasso, Jiménez, Jimínez, Juárez, Jurado, Laboy, Lara, Laureano, Leal, Lebrón, Ledesma, Leiva,Lemus, León, Lerma, Leyva, Limón, Linares, Lira, Llamas, Loera, Lomeli, Longoria, López, Lovato, Loya, Lozada, Lozano, Lucero, Lucio, Luevano, Lugo, Luna, Macías, Madera, Madrid, Madrigal, Maestas, Magaña, Malave, Maldonado, Manzanares, Mares, Marín, Márquez, Marrero, Marroquín, Martínez, Mascareñas, Mata, Mateo, Matías, Matos, Maya, Mayorga, Medina, Medrano, Mejía, Meléndez, Melgar, Mena, Menchaca, Méndez, Mendoza, Menéndez, Meraz, Mercado, Merino, Mesa, Meza, Miramontes, Miranda, Mireles, Mojica, Molina, Mondragón, Monroy, Montalvo, Montañez, Montaño, Montemayor, Montenegro, Montero, Montes, Montez, Montoya, Mora, Morales, Moreno, Mota, Moya, Munguía, Muñiz, Muñoz, Murillo, Muro, Nájera, Naranjo, Narváez, Nava, Navarrete, Navarro, Nazario, Negrete, Negrón, Nevárez, Nieto, Nieves, Niño, Noriega, Núñez, Ocampo, Ocasio, Ochoa, Ojeda, Olivares, Olivárez, Olivas, Olivera, Olivo, Olmos, Olvera, Ontiveros, Oquendo, Ordóñez, Orellana, Ornelas, Orosco, Orozco, Orta, Ortega, Ortiz, Osorio, Otero, Ozuna, Pabón, Pacheco, Padilla, Padrón, Páez, Pagan, Palacios, Palomino, Palomo, Pantoja, Paredes, Parra, Partida, Patiño, Paz, Pedraza, Pedroza, Pelayo, Peña, Perales, Peralta, Perea, Peres, Pérez, Pichardo, Piña, Pineda, Pizarro, Polanco, Ponce, Porras, Portillo, Posada, Prado, Preciado, Prieto, Puente, Puga, Pulido, Quesada, Quezada, Quiñones, Quiñónez, Quintana, Quintanilla, Quintero, Quiroz, Rael, Ramírez, Ramón, Ramos, Rangel, Rascón, Raya, Razo, Regalado, Rendón, Rentería, Reséndez, Reyes, Reyna, Reynoso, Rico, Rincón, Riojas, Ríos, Rivas, Rivera, Rivero, Robledo, Robles, Rocha, Rodarte, Rodrígez, Rodríguez, Rodríquez, Rojas, Rojo, Roldán, Rolón, Romero, Romo, Roque, Rosado, Rosales, Rosario, Rosas, Roybal, Rubio, Ruelas, Ruiz, Saavedra, Sáenz, Saiz, Salas, Salazar, Salcedo, Salcido, Saldaña, Saldivar, Salgado, Salinas, Samaniego, Sanabria, Sanches, Sánchez, Sandoval, Santacruz, Santana, Santiago, Santillán, Sarabia, Sauceda, Saucedo, Sedillo, Segovia, Segura, Sepúlveda, Serna, Serrano, Serrato, Sevilla, Sierra, Sisneros, Solano, Solís, Soliz, Solorio, Solorzano, Soria, Sosa, Sotelo, Soto, Suárez, Tafoya, Tamayo, Tamez, Tapia, Tejada, Tejeda, Téllez, Tello, Terán, Terrazas, Tijerina, Tirado, Toledo, Toro, Torres, Tórrez, Tovar, Trejo, Treviño, Trujillo, Ulibarri, Ulloa, Urbina, Ureña, Urías, Uribe, Urrutia, Vaca, Valadez, Valdés, Valdez, Valdivia, Valencia, Valentín, Valenzuela, Valladares, Valle, Vallejo, Valles, Valverde, Vanegas, Varela, Vargas, Vásquez, Vázquez, Vega, Vela, Velasco, Velásquez, Velázquez, Vélez, Véliz, Venegas, Vera, Verdugo, Verduzco, Vergara, Viera, Vigil, Villa, Villagómez, Villalobos, Villalpando, Villanueva, Villareal, Villarreal, Villaseñor, Villegas, Yáñez, Ybarra, Zambrano, Zamora, Zamudio, Zapata, Zaragoza, Zarate, Zavala, Zayas, Zelaya, Zepeda, Zúñiga]
prefix: [Sr., Sra., Sta.]
suffix: [Jr., Sr., I, II, III, IV, V, MD, DDS, PhD, DVM]
Expand Down
2 changes: 1 addition & 1 deletion test/test_faker_city.rb
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ def setup
@old_locales = I18n.config.available_locales
xx = {
faker: {
name: { first_name: ['alice'], last_name: ['smith'] },
name: { female_first_name: ['alice'], male_first_name: ['alice'], last_name: ['smith'] },
address: { city_prefix: ['west'], city_suffix: ['burg'] }
}
}
Expand Down
8 changes: 8 additions & 0 deletions test/test_faker_name.rb
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,14 @@ def test_first_name
assert @tester.first_name.match(/(\w+\.? ?){3,4}/)
end

def test_male_first_name
assert @tester.male_first_name.match(/(\w+\.? ?){3,4}/)
end

def test_female_first_name
assert @tester.female_first_name.match(/(\w+\.? ?){3,4}/)
end

def test_middle_name
assert @tester.middle_name.match(/(\w+\.? ?){3,4}/)
end
Expand Down

0 comments on commit bd2507e

Please sign in to comment.