From 44bd3c1a6b48489af073626ae8aed9ab23d3ab7a Mon Sep 17 00:00:00 2001 From: gietos Date: Fri, 31 Oct 2014 20:20:00 +0300 Subject: [PATCH 1/2] Fix ru_RU middle names are different for different genders --- src/Faker/Provider/ru_RU/Person.php | 42 ++++++++++++++++++++++------- 1 file changed, 33 insertions(+), 9 deletions(-) diff --git a/src/Faker/Provider/ru_RU/Person.php b/src/Faker/Provider/ru_RU/Person.php index 2f15c740fa..ca00ce3e63 100644 --- a/src/Faker/Provider/ru_RU/Person.php +++ b/src/Faker/Provider/ru_RU/Person.php @@ -5,13 +5,17 @@ class Person extends \Faker\Provider\Person { protected static $maleNameFormats = array( - '{{firstNameMale}} {{middleName}} {{lastName}}', - '{{lastName}} {{firstNameMale}} {{middleName}}', + '{{firstNameMale}} {{middleNameMale}} {{lastName}}', + '{{lastName}} {{firstNameMale}} {{middleNameMale}}', ); + /** + * This provider uses wikipedia's 250 top russian last names + * That list of MALE last names could be safely extended to FEMALE list just by adding 'a' letter at the end + */ protected static $femaleNameFormats = array( - '{{firstNameFemale}} {{middleName}} {{lastName}}', - '{{lastName}} {{firstNameFemale}} {{middleName}}', + '{{firstNameFemale}} {{middleNameFemale}} {{lastName}}а', + '{{lastName}}а {{firstNameFemale}} {{middleNameFemale}}', ); /** @@ -46,12 +50,18 @@ class Person extends \Faker\Provider\Person 'Эмма', 'Юлия', 'Яна', 'Ярослава', ); - protected static $middleName = array( + protected static $middleNameMale = array( 'Александрович', 'Алексеевич', 'Андреевич', 'Дмитриевич', 'Евгеньевич', 'Сергеевич', 'Иванович', 'Фёдорович', 'Львович', 'Романович', 'Владимирович', 'Борисович', 'Максимович', ); + protected static $middleNameFemale = array( + 'Александровна', 'Алексеевна', 'Андреевна', 'Дмитриевна', 'Евгеньевна', + 'Сергеевна', 'Ивановна', 'Фёдоровна', 'Львовна', 'Романовна', 'Владимировна', + 'Борисовна', 'Максимовна', + ); + /** * {@link} http://ru.wikipedia.org/wiki/%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA_%D0%BE%D0%B1%D1%89%D0%B5%D1%80%D1%83%D1%81%D1%81%D0%BA%D0%B8%D1%85_%D1%84%D0%B0%D0%BC%D0%B8%D0%BB%D0%B8%D0%B9 **/ @@ -96,7 +106,7 @@ class Person extends \Faker\Provider\Person ); /** - * Return middle name + * Return male middle name * * @example 'Иванович' * @@ -104,8 +114,22 @@ class Person extends \Faker\Provider\Person * * @return string Middle name */ - public function middleName() + public function middleNameMale() + { + return static::randomElement(static::$middleNameMale); + } + + /** + * Return female middle name + * + * @example 'Ивановна' + * + * @access public + * + * @return string Middle name + */ + public function middleNameFemale() { - return static::randomElement(static::$middleName); + return static::randomElement(static::$middleNameFemale); } -} +} \ No newline at end of file From d55adafdf15f97c67af9889672e5c624b76edaa7 Mon Sep 17 00:00:00 2001 From: gietos Date: Fri, 31 Oct 2014 20:35:13 +0300 Subject: [PATCH 2/2] smallfix: 1 newline at end of file --- src/Faker/Provider/ru_RU/Person.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Faker/Provider/ru_RU/Person.php b/src/Faker/Provider/ru_RU/Person.php index ca00ce3e63..09a59f6a16 100644 --- a/src/Faker/Provider/ru_RU/Person.php +++ b/src/Faker/Provider/ru_RU/Person.php @@ -132,4 +132,4 @@ public function middleNameFemale() { return static::randomElement(static::$middleNameFemale); } -} \ No newline at end of file +}