male_or_female 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +18 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +44 -0
- data/Rakefile +111 -0
- data/doc/logo.png +0 -0
- data/doc/logo.psd +0 -0
- data/lib/male_or_female/data_compiled/.DS_Store.yaml +20 -0
- data/lib/male_or_female/data_compiled/ru.yaml +452 -0
- data/lib/male_or_female/data_source/ru//320/260.yaml +14 -0
- data/lib/male_or_female/data_source/ru//320/261.yaml +35 -0
- data/lib/male_or_female/data_source/ru//320/262.yaml +39 -0
- data/lib/male_or_female/data_source/ru//320/263.yaml +24 -0
- data/lib/male_or_female/data_source/ru//320/264.yaml +30 -0
- data/lib/male_or_female/data_source/ru//320/265.yaml +9 -0
- data/lib/male_or_female/data_source/ru//320/266.yaml +13 -0
- data/lib/male_or_female/data_source/ru//320/267.yaml +17 -0
- data/lib/male_or_female/data_source/ru//320/270.yaml +14 -0
- data/lib/male_or_female/data_source/ru//320/272.yaml +24 -0
- data/lib/male_or_female/data_source/ru//320/273.yaml +21 -0
- data/lib/male_or_female/data_source/ru//320/274.yaml +23 -0
- data/lib/male_or_female/data_source/ru//320/275.yaml +19 -0
- data/lib/male_or_female/data_source/ru//320/276.yaml +11 -0
- data/lib/male_or_female/data_source/ru//320/277.yaml +24 -0
- data/lib/male_or_female/data_source/ru//321/200.yaml +19 -0
- data/lib/male_or_female/data_source/ru//321/201.yaml +37 -0
- data/lib/male_or_female/data_source/ru//321/202.yaml +21 -0
- data/lib/male_or_female/data_source/ru//321/203.yaml +13 -0
- data/lib/male_or_female/data_source/ru//321/205.yaml +12 -0
- data/lib/male_or_female/data_source/ru//321/206.yaml +8 -0
- data/lib/male_or_female/data_source/ru//321/207.yaml +12 -0
- data/lib/male_or_female/data_source/ru//321/210.yaml +9 -0
- data/lib/male_or_female/data_source/ru//321/211.yaml +8 -0
- data/lib/male_or_female/data_source/ru//321/215.yaml +11 -0
- data/lib/male_or_female/data_source/ru//321/216.yaml +14 -0
- data/lib/male_or_female/data_source/ru//321/217.yaml +9 -0
- data/lib/male_or_female/version.rb +3 -0
- data/lib/male_or_female.rb +83 -0
- data/male_or_female.gemspec +26 -0
- data/test/test_compiled_male_formal.rb +198 -0
- data/test/test_exception.rb +47 -0
- data/test/test_female_informal.rb +30 -0
- data/test/test_male_informal.rb +31 -0
- data/test/test_source_female_formal.rb +198 -0
- data/test/test_source_male_formal.rb +205 -0
- data/test/test_unisex_formal.rb +16 -0
- data/test/test_unisex_informal.rb +23 -0
- metadata +171 -0
@@ -0,0 +1,30 @@
|
|
1
|
+
Д:
|
2
|
+
male_formal:
|
3
|
+
Дабор Давило Дагус Дажьбог Дал Далебор Далемир Далибор Даливит Даливой Далигор Далигост Далимил Далимир Далимысл
|
4
|
+
Далистрый Далята Дан Данибор Данимир Даньслав Данко Даньша Дарослав Дапамор Двинец Девясил Девятиглаз Девятой
|
5
|
+
Дедила Дедилец Дедовит Дедомил Дедослав Дедята Дежень Деиукс Делота Делян Демьстик Дерван Дергач Держан Держикрай
|
6
|
+
Держимир Держислав Дерн Десибрат Десивой Десимир Десирад Десислав Деян Див Дивий Дивиш Дивлян Дивозор Дикуша Дитята
|
7
|
+
Дичко Добегнев Добемест Добемир Добемысл Добеслав Добестой Добижив Добр Добран Добри Добривой Добрило Добрит
|
8
|
+
Добробой Добробуд Добровест Добровид Добровит Добровлад Добровук Доброга Доброгнев Доброгой Доброгость Добродан
|
9
|
+
Добродей Добродух Доброжай Доброжизн Доброжир Доброжит Добролик Доброман Добромысл Добролюб Добромил Добромир
|
10
|
+
Добросерд Доброслав Добростраж Добросул Добротех Доброхвал Доброход Доброчест Добрын Добря Довбуш Довгуш Довол
|
11
|
+
Догада Дойчин Докука Докучай Долговяз Долгой Долгомил Долгомысл Дольник Домагость Домамер Домамысл Доман Доманег
|
12
|
+
Домаш Домжар Домислав Доможир Доморад Домослав Дончо Дорога Дорогокуп Дорогомил Дорогомысл Дорогосил Дорож Драган
|
13
|
+
Драгобрат Драгогост Драгожит Драголюб Драгомир Драгослав Драгош Драгувит Драгун Драгутин Дражко Древан Древослав
|
14
|
+
Дреман Дробот Дрозд Дроцила Дружина Друсь Дубец Дубовик Дубок Дубун Дубыня Дугиня удика Дукора Дулей Духен Духовлад
|
15
|
+
Духослав Душан Дынко Дюдко Дюжен Дюк Дягиль Дяка Дятел Давыд Давид Данила Даниил Дементий Демид Демьян Денис
|
16
|
+
Дмитрий Дорофей
|
17
|
+
|
18
|
+
male_informal:
|
19
|
+
Дима
|
20
|
+
|
21
|
+
female_formal:
|
22
|
+
Даль Далина Дана Данута Дарёна Дарина Даролюба Даромила Дена Десислава Деснянка Дина Добрава Добринка
|
23
|
+
Добромила Доброгнева Добродея Добромира Добронега Добронрава Доброслава Додола Долгождана Долгослава
|
24
|
+
Доляна Домослава Досада Доступа Драга Драгана Драгомира Древа Дружина Дубрава Душка Дятелина Дарья Диана Доминика
|
25
|
+
Домна
|
26
|
+
|
27
|
+
female_informal:
|
28
|
+
Даша
|
29
|
+
|
30
|
+
unisex:
|
@@ -0,0 +1,9 @@
|
|
1
|
+
Е:
|
2
|
+
male_formal:
|
3
|
+
Единец Ездислав Елага Еловит Ера Ероха Есеня Есислав Евгений Евграф Евдоким Евлампий Евсей Евстафий Евстигней Егор
|
4
|
+
Елизар Елисей Емельян Епифан Еремей Ермил Ермолай Ерофей Ефим Ефрем Ёж Ёрш
|
5
|
+
|
6
|
+
female_formal:
|
7
|
+
Ева Евгеиня Евдокия Евлампия Екатерина Елена Елизавета Ефросинья Ефросиния Елень Елица
|
8
|
+
|
9
|
+
unisex:
|
@@ -0,0 +1,13 @@
|
|
1
|
+
Ж:
|
2
|
+
male_formal:
|
3
|
+
Жавр Жадан Жадок Жалибор Жалигнев Жалигост Жалидед Жалимир Жалислав Жань Жар Жаровник Жарок Жарох Ждажир Ждамир
|
4
|
+
Ждан Ждибор Ждигод Ждимир Ждислав Жегло Жегало Желан Желислав Желуток Желыба Жердей Жерех Жернак Жест Жёлтик Живан
|
5
|
+
Живко Живобуд Живоин Живорад Живород Животтък Жидислав Жидята Жиздор Жизнебор Жизнерад Жизнобуд Жизномир Жилец
|
6
|
+
Жилка Жилята Жирнос Жировит Жиромир Жирослав Жирота Жирята Житко Жито Житоваб Житомир Жихарь Жмурёнок Жук Жунь
|
7
|
+
Жур Журба Журав Журило Жуяга
|
8
|
+
|
9
|
+
female_formal:
|
10
|
+
Жанна Жарава Ждана Ждислава Желана Желанья Жиромира Жилена Жула
|
11
|
+
|
12
|
+
unisex_informal:
|
13
|
+
Женя
|
@@ -0,0 +1,17 @@
|
|
1
|
+
З:
|
2
|
+
male_formal:
|
3
|
+
Забияка Забог Забожан Забой Заброда Забуд Завада Заварза Завид Загреба Загуми Задора Заика Залом Замята Замятня
|
4
|
+
Заребог Зареслав Заруба Заслав Захворай Заяц Заян Збигнев Збигонь Збраслав Збыслав Зван Званимир Звездан Звенец
|
5
|
+
Звенидраг Звенислав Зверополк Звонимир Звонило Звонислав Звяга Здебор Зденек Здерад Здравень Здышко Зеленя Зелибор
|
6
|
+
Земибор Земибуд Земидар Земирад Земислав Земко Земовит Земомил Земомысл Зерно Златан Златимир Златко Златовлас
|
7
|
+
Златодан Златозар Златосвет Златослав Златояр Злоба Зловед Зловид Зломысл Злоказ Зоран Зоремир Зореслав Зорко Зоря
|
8
|
+
Зорян Зубаха Зуберь Зуй Зыба Зыбко Зык Зыряй Зюзя Захар Зиновий Зосима
|
9
|
+
|
10
|
+
female_formal:
|
11
|
+
Забава Забела Загляда Загорка Загоска Замятня Заревласта Зарина Зарена Заслава Звана Звенимира
|
12
|
+
Звенислава Зимава Зима Злата Златовласка Златоцвета Зозуля Зорина Зоряна Зинаида Зоя
|
13
|
+
|
14
|
+
female_informal:
|
15
|
+
Зина
|
16
|
+
|
17
|
+
unisex:
|
@@ -0,0 +1,14 @@
|
|
1
|
+
И:
|
2
|
+
male_formal:
|
3
|
+
Иван Игнатий Измаил Изот Иларион Илья Иннокентий Иосиф Ипат Ипатий Ипполит Ираклий Исай Исидор
|
4
|
+
Ивач Иверень Ивиц Ивор Игорь Идан Идаризий Избор Избыгнев Изеч Износок Изявлад Изяслав Иловай Имислав Инго
|
5
|
+
Ирогость Искр Искус Истислав Истома
|
6
|
+
|
7
|
+
female_formal:
|
8
|
+
Ивица Иголка Изяслава Ирица Ирмера Иля Инга Искра Истома Изабелла Изольда Инесса Инна Ираида Ирина Ия
|
9
|
+
|
10
|
+
female_informal:
|
11
|
+
Ира
|
12
|
+
|
13
|
+
unisex_formal:
|
14
|
+
Ива
|
@@ -0,0 +1,24 @@
|
|
1
|
+
К:
|
2
|
+
male_formal:
|
3
|
+
Казимир Казце Калинка Камен Капица Кареслав Катай Катигорох Квасура Квач Квашня Кветан Кветослав Келогость Кий
|
4
|
+
Кисель Кислоквас Клад Клек Клен Клюкас Кля Кнур Кобыла Кобяк Коваль Коврига Ковря Козенец Козёл Кол Кола Колбинец
|
5
|
+
Колоб Колобуд Коловрат Колос Колот Колотило Колотига Колоша Колояр Колун Колч Колыван Кольцо Комонебранец Коптел
|
6
|
+
Копыл Корепан Корило Корислав Корлин Кормушка Коснятин Космина Кот Котышко Коцел Кочебор Кочева Кочень Кочет Кощей
|
7
|
+
Крак Кракра Крас Красимил Красислав Красномир Краснослав Красун Крев Кремень Крепимир Кресибор Кресимир Кресислав
|
8
|
+
Кресомысл Крив Криворог Кривослав Кробат Крок Кромегость Крот Круглец Крук Крут Крутослав Кручина Крючок Кряж
|
9
|
+
Куделин Куденя Кудеяр Кудрой Кужел Куконос Кукуй Кукша Кулага Кулотка Кумодраг Курбат Курнява Кутила Кучка Куц
|
10
|
+
Кучма Кышек Каллистрат Капитон Карл Карп Касьян Ким Кир Кирилл Клавдий Климент Клементий Клим Кондрат Кондратий
|
11
|
+
Конон Константин Корнил Корней Корнилий Кузьма Куприян
|
12
|
+
|
13
|
+
male_informal:
|
14
|
+
Коля Костя
|
15
|
+
|
16
|
+
female_formal:
|
17
|
+
Кази Казимира Калина Карина Карислава Касатка Каша Квета Кислица Клёна Кокошка Краса Красимира
|
18
|
+
Красномира Краснослава Кропотка Кукоба Кунава Купава Калерия Капитолина Каролина Кира Клавдия Клара Кларисса
|
19
|
+
Клементина Клеопатра Конкордия Ксения
|
20
|
+
|
21
|
+
female_informal:
|
22
|
+
Киса
|
23
|
+
|
24
|
+
unisex_formal:
|
@@ -0,0 +1,21 @@
|
|
1
|
+
Л:
|
2
|
+
male_formal:
|
3
|
+
Лагач Лагодум Ладимир Ладислав Лан Лапа Лапоть Лебедян Левота Левша Легостай Лепко Лето Лех Лехослав Лешек Лешко
|
4
|
+
Линь Лиса Липок Лихарь Лихач Лихо Лиховид Лихослав Лобан Лозан Лось Лочок Луд Лудслав Лунь Лупиглав Лучан Лучезар
|
5
|
+
Льстимир Льстислав Лызло Лында Лытка Лычезар Любим Любислав Любодар Любозар Любомил Любомир Любомудр Любомысл
|
6
|
+
Любонег Любор Люборост Любочад Любояр Любша Людевит Людивой Людек Людин Людмил Людобож Людомир Людослав Людота
|
7
|
+
Лют Лютобор Лютобран Лютовой Лютовид Лютогнев Лютоман Лютомир Лютомысл Люторад Ляшько Лавр Лаврентий Лазарь Лев
|
8
|
+
Леон Леонид Леонтий Лонгин Лука Лукьян Любосмысл
|
9
|
+
|
10
|
+
male_informal:
|
11
|
+
Лёня Леня Лёша Леша
|
12
|
+
|
13
|
+
female_formal:
|
14
|
+
Леокадия Лиана Лидия Лилиана Лариса Лилия Лия Луиза Лукерья Людослава Ляля
|
15
|
+
Лабуня Лагода Лагута Лада Ладимира Ладислава Ладомила Ладослава Латыгорка Лебедь Леля Лесана Либуша
|
16
|
+
Лола Лыбедь Любава Любовь Любогнева Любомира Любомила Любомудра Люборада Любослава Любуша Людмила
|
17
|
+
|
18
|
+
female_informal:
|
19
|
+
Лена Люся Лера Люда Люба
|
20
|
+
|
21
|
+
unisex_formal:
|
@@ -0,0 +1,23 @@
|
|
1
|
+
М:
|
2
|
+
male_formal:
|
3
|
+
Макар Максим Максимильян Мариан Марк Мартын Мартьян Матвей Мефодий Милий Мина Мир Мирон Митофан Михаил Михей Модест
|
4
|
+
Майеслав Майслав Мал Маламир Малогость Малыга Малыш Малюта Марибор Марун Маслав Междамир Межко Мезенмир
|
5
|
+
Мезислав Мень Меньшак Меньшик Местивой Местило Местиуй Местята Метислав Мецислав Мечеслав Мечислав Меша
|
6
|
+
Мешко Микула Мил Милад Милан Милей Милен Миливой Милидух Милко Милован Милодар Милогость Миломир Милонег
|
7
|
+
Милорад Милослав Милота Милош Милутин Мильц Милюта Миляй Милятин Миробог Мирогость Миронег Миролюб Мироног
|
8
|
+
Мирослав Мистиша Михн Мичура Мишата Млад Младек Мната Мнислав Мовеслав Могута Моислав Моймир Мокош Мокроус
|
9
|
+
Молибог Молнезар Молчан Молчун Момчил Мончук Моргун Моргач Мордас Мороз Морозко Морхиня Моста Мостило Мстибог
|
10
|
+
Мстивой Мстиж Мстислав Мудрослав Мун Мура Мураш Мусат Мусокий Мутур Мухло Мятижир Моисей Мокей
|
11
|
+
|
12
|
+
male_informal:
|
13
|
+
Макс
|
14
|
+
|
15
|
+
female_formal:
|
16
|
+
Мазыря Малинка Малуша Метелица Мечеслава Мечислава Мила Милада Милава Милана Милева Милена Милица
|
17
|
+
Милолика Миломира Милонега Миловзора Милослава Милуша Мира Мирина Мирослава Млава Млада Морозка
|
18
|
+
Мстислава Майя Мальвина Маргарита Марианна Мариетта Марина Мария Марта Марфа Меланья Мелитриса Муза
|
19
|
+
|
20
|
+
female_informal:
|
21
|
+
Маша
|
22
|
+
|
23
|
+
unisex_formal:
|
@@ -0,0 +1,19 @@
|
|
1
|
+
Н:
|
2
|
+
male_formal:
|
3
|
+
Наволод Нагиба Надей Найдён Након Намест Нарышка Наседка Нахаба Небулос Невер Невзор Негодяй Негорад
|
4
|
+
Негослав Недан Неделя Нежата Неждан Нежен Нежил Незамысл Незван Незда Нездило Нездиня Незнайко Неклан Неклюд
|
5
|
+
Некрас Некрута Нелюб Немат Немизь Немил Немир Ненад Ненаш Непомук Нерадец Нерев Несда Несмеян Неугода Неудача
|
6
|
+
Неуспокой Неустрой Нехорошей Нецислав Нечай Неядва Никлот Нискиня Новак Новик Новожил Новомир Ноздрьча Носик
|
7
|
+
Носко Нур Нянко Назар Наркис Натан Наум Нестор Никандр Никанор Никита Никифор Никодим Николай Никон Нифонт
|
8
|
+
|
9
|
+
male_informal:
|
10
|
+
Ник
|
11
|
+
|
12
|
+
female_formal:
|
13
|
+
Наталья Наталия Неонила Ника Нина Нинель Нона Немира Ненагляда Несмеяна Новожея Новожила
|
14
|
+
Надежда Надия Найда Невея Негода Неда Недоля Неёла Нежа Нежана Неждана Нежелана Незвана Нелюба
|
15
|
+
|
16
|
+
female_informal:
|
17
|
+
Настя Наташа
|
18
|
+
|
19
|
+
unisex_formal:
|
@@ -0,0 +1,11 @@
|
|
1
|
+
О:
|
2
|
+
male_formal:
|
3
|
+
Обиден Образец Овсяник Овчина Огневед Огнедар Огнезар Огнеслав Огурец Одинец Одяка Озар Озим Окатье Окула Окунь
|
4
|
+
Олбран Олдан Олег Олель Олен Олех Олимер Ольбег Ольстин Олята Омьша Оногость Ончутка Опост Ордогост Орей Орёл
|
5
|
+
Орлин Орогость Осина Оскол Осляба Осмак Осменник Осмол Осмомысл Осока Останец Остроглаз Островец Остромир
|
6
|
+
Остромысл Остроус Остроух Осьмиглаз Осьмун Отай Отеня Отрад Ошурок Ощера Олимпий Онуфрий Орест Осип Остап
|
7
|
+
|
8
|
+
female_formal:
|
9
|
+
Оксана Октябрина Олимпиада Ольга Ожега Олисава Олова Оляна Омелица Отава
|
10
|
+
|
11
|
+
unisex_formal:
|
@@ -0,0 +1,24 @@
|
|
1
|
+
П:
|
2
|
+
male_formal:
|
3
|
+
Падинога Падун Пакобуд Пакомил Пакослав Пальчек Пан Паркун Паря Пасмур Пачемир Пачеслав Пащек Певень Пелг Пепелюга
|
4
|
+
Перван Первой Первонег Первослав Первуша ПереверниГора Перегуд Передслав Перемышль Перенег Переплут Перепят Пересвет
|
5
|
+
Пересмага Пересмяк Переяр Переяслав Перко Перунько Перята Петун Пешка Пешок ПёсьяСтарость Пинай Пинещин Пискун
|
6
|
+
Пирогость Плавен Плакса Плаксень Пламен Плат Плен Пленко Плехан Плешко Плоскиня Повтарь Погудко Подебрад Поджар
|
7
|
+
Поджога ПодоприГора Подпрята Позвизд Поздей Познан Позняк Покатигорошек Поле Полежай Полетай Полуденник Полюд Полян
|
8
|
+
Попель Попельвар Порей Поруба Порывай Посока Поспел Постник Потан Потепа Потеха Поток Потучик Починок Правдолюб
|
9
|
+
Праволюб Правомил Православ Прасол Предмир Предполк Предраг Предслав Преибор Прелюб Премил Пренег Премысл Преслав
|
10
|
+
Престан Претимир Претич Прехвал Прибина Прибислав Прибувой Прибыгнев Прибыдруг Прибынег Прибыток Прибыхвал Прибычест
|
11
|
+
Прибыша Привал Придан Прилук Примак Прислав Приснобор Приснослав Притыка Приугрюмище Пркош Провид Продан Прозор
|
12
|
+
Прокуй Прокшиня Просислав Просо Простибор Простивой Простигнев Простимир Простислав Прохн Прочица Прус Пруша
|
13
|
+
Пршемысл Псан Пузейка Пулкав Пустило Пустимир Пустовид Путарь Путивой Путила Путимир Путислав Путисил Путьша Путята
|
14
|
+
Пучна Пырей Пяст Пятак Прокл Прокофий Прохор Павел Панкратий Панкрат Пантелеймон Панфил Парамон Парфен Пахом
|
15
|
+
Петр Пимен Платон Поликарп Порфирий Потап Пров Пантелей
|
16
|
+
|
17
|
+
male_informal:
|
18
|
+
Паша
|
19
|
+
|
20
|
+
female_formal:
|
21
|
+
Пелагея Поликсена Полина Прасковья Пульхерия Первуна Первуша Перегуда Переяслава Плакса Полада Полева Полеля
|
22
|
+
Полонея Полуница Поляна Пороша Потана Потвора Потреба Пребрана Предслава Прекраса Прелеста Прибавка Прибыслава Пригода
|
23
|
+
|
24
|
+
unisex_formal:
|
@@ -0,0 +1,19 @@
|
|
1
|
+
Р:
|
2
|
+
male_formal:
|
3
|
+
Рагоза Радей Радех Радивой Радило Радим Радимир Радислав Радко Радобрат Радобой Радобуд Радован Радовзор Радовид
|
4
|
+
Радовит Радогой Радогорд Радогость Радожар Радожир Радолюб Радом Радомил Радомир Радомысл Радонег Радосвет Радослав
|
5
|
+
Радосул Радота Радотех Радочест Радош Радуж Размысл Разрывай Разумник Раковор Рамен Ранко Раножир Ранослав Рарог
|
6
|
+
Распута Растимир Растислав Растич Ратай Ратебор Ратибор Ратислав Ратмир Ратша Рах Рахдай Раце Рацлав Рачуйко Рев
|
7
|
+
Резник Рекун Репа Репех Рог Рогволод Рогдай Рогня Родан Родислав Родогой Родогор Родолюб Родомил Родомысль Родосвет
|
8
|
+
Родослав Рознег Ропша Росволод Рослав Ростигнев Ростимир Ростимысл Ростислав Ростих Ростичар Ртищ Рубец Рудак
|
9
|
+
Рудожир Рудомир Рудомысл Рудослав Рудоток Румянец Руно Рус Русай Русалко Русан Русин Рутын Рыж Рында Рылей Рюма
|
10
|
+
Рюрик Ряб Рядко Ряха Родион Роман Рубен Руслан
|
11
|
+
|
12
|
+
male_informal:
|
13
|
+
Рома
|
14
|
+
|
15
|
+
female_formal:
|
16
|
+
Раиса Регина Рената Римма Роза Розалия Розина Руфина Рада Радана Радмила Радосвета Радомира Радослава Радостина
|
17
|
+
Радость Ракита Репка Рогнеда Родника Родослава Росана Ростислава Ружена Ружица Румяна Русава Русана Рута Рында Рябина
|
18
|
+
|
19
|
+
unisex_formal:
|
@@ -0,0 +1,37 @@
|
|
1
|
+
С:
|
2
|
+
male_formal:
|
3
|
+
Садко Само Самовит Самовлад Саморад Самород Самоха Санко Сах Сбыгнев Сбывой Сбылют Сбыслав Сбычест Сваромир Сваруна
|
4
|
+
Свебож Свентояр Свень Сверчок Светех Светибог Светигнев Светигой Светилюб Светислав Светичест Светлан Светник
|
5
|
+
Светобор Светодар Световик Светолик Светомир Светомысл Светозар Светокол Светолик Светослав Светояр Свибл Свир
|
6
|
+
Свирыня Свиря Свирята Свищ Свободан Своерад Свойбог Свойбор Свойжир Своймир Своймысл Свойслав Свойчест Свойрад
|
7
|
+
Своята Святобой Святобор Святогор Святожизн Святозар Святозор Святомир Святоплуг Святополк Святорад Святослав
|
8
|
+
Святоша Святояр Сдебуд Сдевит Сдевой Сделют Сдемил Сдемир Сдемысл Сдеслав Сдила Сева Сегеня Седун Сежир Сезем
|
9
|
+
Селан Селимир Семидол Семовит Семой Семьюн Середогост Сережень Сецех Сивак Сивер Север Сиводед Сиволап Сивояр
|
10
|
+
Сидраг Силимир Силослав Силостан Сирослав Синеок Синко Скалкус Скарбимир Скарбомир Скарбислав Скиф Склов Скородум
|
11
|
+
Скордяй Скорына Скорята Скотень Скрипица Скрынь Скряба Скуба Скурат Славата Славко Славен Славер Славибор Славий
|
12
|
+
Славн Славовит Славолюб Славомир Славомысл Славонег Славосуд Славотех Славута Славята Слинько Слободан Словиша
|
13
|
+
Словута Слон Слудый Смага Смехн Смеян Смил Смирной Смола Смолига Смык Смысл Снежко Сновид Собеслав Собигорд Собидраг
|
14
|
+
Собимил Собимысл Собин Собирад Соболь Собота Сова Содлилка Сокол Сокольник Солн Соловей Сомжар Сонцеслав Сорока
|
15
|
+
Сочень Спех Спирок Спитигнев Спичак Ставок Ставр Станивук Станил Станило Станимир Станислав Станята Старовит
|
16
|
+
Старовойт Старой Старослав Старшой Стемир Стипко Стогость Стожар Стоигнев Стоик Стоимил Стоймир Стойслав Столпосвет
|
17
|
+
Стоядин Стоян Страба Страдослав Страж Страживой Стражимир Стражислав Странимир Странислав Страх Страхквас Страхил
|
18
|
+
Страшимир Страшко Стребор Стрежимир Стрежислав Стрезибор Стрекало Стрет Стрига Стригун Стрижак Строй Стройгнев
|
19
|
+
Строймир Стройслав Стук Ступа Стуш Стырь Сувор Судак Судибор Судивой Судимир Судислав Судиша Судор Сул Сулибор
|
20
|
+
Суливой Сулимир Сулислав Сулирад Сумник Суморок Суровен Сусара Сухан Сухой Сухобор Суховерх Сухослав Суш Сындал
|
21
|
+
Сып Сыт Сябр Савва Савватий Савелий Самсон Самуил Севастьян Селиван Селиверст Семен Серафим Сергей Сигизмунд Сидор
|
22
|
+
Сила Силантий Сильвестр Симон Сократ Соломон Софон Софрон Спартак Спиридон Степан Салават
|
23
|
+
|
24
|
+
male_informal:
|
25
|
+
Стёпа Степа
|
26
|
+
|
27
|
+
female_formal:
|
28
|
+
Сбыслава Сватава Светана Светислава Светла Светлана Светогора Светозара Светолика Светослава Святослава
|
29
|
+
Святохна Селеница Селяна Сила Синеока Сияна Скрева Смеяна Смирена Снежа Снежана Снежина Слава Славина
|
30
|
+
Славолюба Славомила Славомира Славяна Сладка Собина Собислава Солоха Соня Сорока Среча Станислава
|
31
|
+
Сторожея Стояна Студеника Судислава Судомира Счаста Сухота Серафима Сильва Сильвия Саломея Софья Стела Степанида Сусанна
|
32
|
+
|
33
|
+
female_informal:
|
34
|
+
Света
|
35
|
+
|
36
|
+
unisex_informal:
|
37
|
+
Саша
|
@@ -0,0 +1,21 @@
|
|
1
|
+
Т:
|
2
|
+
male_formal:
|
3
|
+
Табомысл Таислав Талалай Талец Таргитай Тас Татомир Твердибой Твердило Твердимир Твердин Твердислав Твердодраг
|
4
|
+
Твердолик Твердополк Твердош Твердята Творинег Творирад Творилад Творило Творимир Творислав Творьян Телепень Тепло
|
5
|
+
Тепта Терпило Терпимир Терпимысл Терпислав Тетва Тетислав Тетомысл Техобуд Техожит Техомысл Техослав Тешата Тешен
|
6
|
+
Тешигнев Тешигор Тешидраг Тешимир Теширад Тешислав Тилей Тиста Тихоелето Тихомил Тихомир Тихомысл Тихорад Тишина
|
7
|
+
Толигнев Толимир Толислав Толчь Томивой Томило Томимир Томислав Топор Тороп Торч Торчин Точена Транно Требибор
|
8
|
+
Требимир Требислав Требомысл Треборад Тревзор Трегуб Тредеграс Трезор Треска Третьяк Тримир Трун Трут Тугарин
|
9
|
+
Тугло Тугодум Тугожир Тужир Тугомир Тугомысл Тулик Тумаш Тупочёл Тур Турдей Турила Туровид Туряк Тус Туча Туша
|
10
|
+
Тынина Тыра Тюря Тютя Тарас Терентий Тимофей Тимур Тит Тихон Трифон Трофим
|
11
|
+
|
12
|
+
male_informal:
|
13
|
+
Тема Тёма
|
14
|
+
|
15
|
+
female_formal:
|
16
|
+
Таисия Тамара Татьяна Тайна Творимира Теребила Томила Туга Тэтка
|
17
|
+
|
18
|
+
female_informal:
|
19
|
+
Таня
|
20
|
+
|
21
|
+
unisex_formal:
|
@@ -0,0 +1,13 @@
|
|
1
|
+
У:
|
2
|
+
male_formal:
|
3
|
+
Уветич Углеша Угомон Угоняй Уголёк Угост Угрим Угрюм Уда Удал Удача Уегость Улеб Улич Улыба Умай Умил Умник Умысл
|
4
|
+
Унебож Унемир Унибор Управка Ураз Урех Урюпа Усан Услав Устрой Усхоп Усыня Ута Утеш Утешан Утренник Ушак Ушмян
|
5
|
+
Ульян Устин
|
6
|
+
|
7
|
+
female_formal:
|
8
|
+
Ульяна Убынега Умила Улада Улита Улыба Услада Утеха
|
9
|
+
|
10
|
+
female_informal:
|
11
|
+
Уля
|
12
|
+
|
13
|
+
unisex_formal:
|
@@ -0,0 +1,12 @@
|
|
1
|
+
Х:
|
2
|
+
male_formal:
|
3
|
+
Халява Хвалимир Хвалибог Хвалибор Хвалислав Хват Хвилибуд Хвост Хвороща Хвощ Хижа Хитран Хлеб Хлебослав Хлопан
|
4
|
+
Хлоптун Хлубан Хлуд Хлын Хлыст Хмель Хмар Хмырь Хов Хован Ходан Ходимир Ходислав Ходота Ходына Хомун Холопище
|
5
|
+
Хорив Хоробор Хоробрит Хортивой Хорь Хот Хотен Хотибор Хотивой Хотимир Хотимысл Хотирад Хотислав Хотобуд Хотовид
|
6
|
+
Хотомель Хотомир Хотонег Хоц Хотуль Хохряк Храбр Хран Хранибой Хранибор Хранидруг Хранимир Хранислав Храрь Хрват
|
7
|
+
Хрипан Хрипун Хруль Хрьсь Хубен Худаня Харитон Харлампий Христофор
|
8
|
+
|
9
|
+
female_formal:
|
10
|
+
Харитина Христина Хорошава
|
11
|
+
|
12
|
+
unisex_formal:
|
@@ -0,0 +1,12 @@
|
|
1
|
+
Ч:
|
2
|
+
male_formal:
|
3
|
+
Чадобор Чадогость Чадодраг Чадомил Чадомир Чаебуд Чаевой Чаевуй Чаегость Чаеслав Чаестрый Чапонос Чач Чаян Череда
|
4
|
+
Чернота Черноус Черныш Чернь Черняк Чеслав Честа Честен Честибог Честибор Честиброн Честивой Честигнев Честимил
|
5
|
+
Честимир Честимысл Честирад Честислав Четверик Четырь Чех Чилига Чина Чистомил Чистосвет Чистослав Чрен Чстень
|
6
|
+
Чтан Чтибор Чтимир Чтирад Чтислав Чудак Чудимир Чужедраг Чужимир Чужесуд Чудород Чулок Чура Чурик Чурила Чурослав
|
7
|
+
Чус Чух
|
8
|
+
|
9
|
+
female_formal:
|
10
|
+
Частава Чара Чарна Чаруша Чаяна Чернава Чеслава Чилика
|
11
|
+
|
12
|
+
unisex_formal:
|
@@ -0,0 +1,9 @@
|
|
1
|
+
Я:
|
2
|
+
male_formal:
|
3
|
+
Явдята Яволод Явор Ягнило Ядрей Ядринец Ядыка Язвец Яловец Ян Янислав Яр Ярек Ярец Яробор Яробуд Ярогнев Яролик
|
4
|
+
Яролюб Яромил Яромир Яромудр Ярополк Яросвет Ярослав Ярун Ярыш Ячменёк Яков Ян Якуб Януарий Ярополк Ярослав Янка
|
5
|
+
|
6
|
+
female_formal:
|
7
|
+
Ядвига Ярослава Ягода Ядрана Яна Янина Яра Ярина Яробка Яромила Яромира Яронега
|
8
|
+
|
9
|
+
unisex_formal:
|
@@ -0,0 +1,83 @@
|
|
1
|
+
# encoding: UTF-8
|
2
|
+
|
3
|
+
require 'male_or_female/version'
|
4
|
+
require 'unicode_utils'
|
5
|
+
require 'yaml'
|
6
|
+
|
7
|
+
module MaleOrFemale
|
8
|
+
|
9
|
+
#COMPILED_DIR = './lib/male_or_female/data_compiled'
|
10
|
+
#SOURCE_DIR = './lib/male_or_female/data_source'
|
11
|
+
|
12
|
+
COMPILED_DIR = File.expand_path('../male_or_female/data_compiled', __FILE__)
|
13
|
+
SOURCE_DIR = File.expand_path('../male_or_female/data_source', __FILE__)
|
14
|
+
|
15
|
+
UNKNOWN = :unknown
|
16
|
+
|
17
|
+
MALE, FEMALE, UNISEX = :male, :female, :unisex
|
18
|
+
GENDERS = [FEMALE, MALE, UNISEX]
|
19
|
+
FORMAL, INFORMAL = :formal, :informal
|
20
|
+
FORMATS = [INFORMAL, UNISEX, FORMAL]
|
21
|
+
|
22
|
+
class Detector
|
23
|
+
def initialize(name, options = {})
|
24
|
+
source = options[:source] || 'source'
|
25
|
+
@name = prepare_name(name)
|
26
|
+
@data = load_data(@name[0], source.to_sym)
|
27
|
+
@result = detect
|
28
|
+
end
|
29
|
+
|
30
|
+
def gender
|
31
|
+
result = nil
|
32
|
+
GENDERS.each { |gender| result = gender if @result =~ /(\s|^)(#{gender})[_]/i }
|
33
|
+
result.nil? ? UNKNOWN : result
|
34
|
+
end
|
35
|
+
|
36
|
+
def format
|
37
|
+
result = nil
|
38
|
+
FORMATS.each { |format| return format if @result =~ /[_](#{format})/i }
|
39
|
+
result.nil? ? UNKNOWN : result
|
40
|
+
end
|
41
|
+
|
42
|
+
# PRIVATE
|
43
|
+
private
|
44
|
+
|
45
|
+
def load_data(letter, source = :source)
|
46
|
+
case source
|
47
|
+
when :source
|
48
|
+
source = "#{SOURCE_DIR}/ru/#{UnicodeUtils.downcase(letter)}.yaml"
|
49
|
+
return nil unless File.exist?(source)
|
50
|
+
YAML.load_file(File.open(source))
|
51
|
+
when :compiled
|
52
|
+
YAML.load_file(File.open("#{COMPILED_DIR}/ru.yaml"))
|
53
|
+
else
|
54
|
+
raise ArgumentError.new("Invalid source option: #{source}")
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
# Проверет имя (возьмет первую букву от имени, проверит значение в
|
59
|
+
# в хеше @data[:первая_буква]).
|
60
|
+
#
|
61
|
+
# Вернет: 'male_formal', 'female_formal', 'unisex' etc.
|
62
|
+
def detect
|
63
|
+
result = nil
|
64
|
+
|
65
|
+
return result if @data.nil? || @data[@name[0]].nil?
|
66
|
+
|
67
|
+
# ["male_formal", "Август Авдей Аверкий ... "]
|
68
|
+
@data[@name[0]].each do |sex|
|
69
|
+
next if sex[1].nil?
|
70
|
+
result = sex[0] if sex[1] =~ /(\s|^)(#{@name})(\s|$)/i
|
71
|
+
end
|
72
|
+
result
|
73
|
+
end
|
74
|
+
|
75
|
+
def prepare_name(name)
|
76
|
+
name = UnicodeUtils.downcase(name).strip
|
77
|
+
name[0] = UnicodeUtils.upcase(name[0])
|
78
|
+
name
|
79
|
+
rescue
|
80
|
+
raise ArgumentError.new('Name should be a string')
|
81
|
+
end
|
82
|
+
end
|
83
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'male_or_female/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = 'male_or_female'
|
8
|
+
spec.version = MaleOrFemale::VERSION
|
9
|
+
spec.authors = 'Alex Shilov'
|
10
|
+
spec.email = 'sashapashamasha@gmail.com'
|
11
|
+
spec.description = 'Гем для распознования пола по имени человека, а также формального/неформального формата имени. http://typograf.herokuapp.com/gender'
|
12
|
+
spec.summary = 'What the gender by name. Russian names supported only.'
|
13
|
+
spec.homepage = 'https://github.com/shlima/MaleOrFemale'
|
14
|
+
spec.license = 'MIT'
|
15
|
+
|
16
|
+
spec.files = `git ls-files`.split($/)
|
17
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
18
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
|
+
spec.require_paths = ['lib']
|
20
|
+
|
21
|
+
spec.add_development_dependency 'bundler', '~> 1.3'
|
22
|
+
spec.add_development_dependency 'rake'
|
23
|
+
spec.add_development_dependency 'colorize'
|
24
|
+
|
25
|
+
spec.add_runtime_dependency 'unicode_utils'
|
26
|
+
end
|