be9-ryba 0.0.2 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.textile +38 -0
- data/VERSION.yml +1 -1
- data/lib/ryba.rb +21 -0
- data/lib/ryba/address.rb +74 -0
- data/lib/ryba/data.rb +430 -1
- data/lib/ryba/name.rb +6 -0
- data/spec/ryba_spec.rb +25 -0
- metadata +5 -4
data/README.textile
CHANGED
|
@@ -21,6 +21,7 @@ Ryba — попытка создать аналогичный генератор
|
|
|
21
21
|
Библиотека находится в активной разработке. На данный момент реализованы:
|
|
22
22
|
* Генерация имен.
|
|
23
23
|
* Генерация телефонов.
|
|
24
|
+
* Генерация адресов.
|
|
24
25
|
|
|
25
26
|
Ниже описан интерфейс для реализованных возможностей.
|
|
26
27
|
|
|
@@ -34,6 +35,8 @@ h2. Генерация имен
|
|
|
34
35
|
|
|
35
36
|
@Ryba::Name.family_name(male = nil)@ — случайная фамилия.
|
|
36
37
|
|
|
38
|
+
@Ryba::Name.full_name(male = nil)@ — случайное ФИО (например, "Щетинин Камилл Ростиславович").
|
|
39
|
+
|
|
37
40
|
Параметр @male@ указывает пол (@true@ — мужской, @false@ — женский). Если параметр не указывать,
|
|
38
41
|
будет выбран случайный пол.
|
|
39
42
|
|
|
@@ -72,6 +75,41 @@ h2. Генерация телефонов
|
|
|
72
75
|
=> "(2397) 94 78 14"
|
|
73
76
|
</code></pre>
|
|
74
77
|
|
|
78
|
+
h2. Генерация адресов
|
|
79
|
+
|
|
80
|
+
Методы из @Ryba::Address@.
|
|
81
|
+
|
|
82
|
+
@Ryba::Address.index@ — случайный почтовый индекс (просто случайное число между 100000 и 700000). _Пример: 149544_.
|
|
83
|
+
|
|
84
|
+
@Ryba::Address.city@ - случайный город России. _Пример: "Выкса"_.
|
|
85
|
+
|
|
86
|
+
@Ryba::Address.full_city@ - случайный город с указанием региона, если это необходимо (город не является областным центром). _Примеры:_
|
|
87
|
+
* "Брянская обл., г. Унеча";
|
|
88
|
+
* "г. Ярославль";
|
|
89
|
+
* "г. Москва".
|
|
90
|
+
|
|
91
|
+
@Ryba::Address.street@ - случайное название улицы. _Примеры:_
|
|
92
|
+
* "ул. Бородина";
|
|
93
|
+
* "Красный пер.";
|
|
94
|
+
* "1 линия".
|
|
95
|
+
|
|
96
|
+
@Ryba::Address.address@ - случайный адрес. _Примеры:_
|
|
97
|
+
* "ул. Щербакова 130-279";
|
|
98
|
+
* "ул. Невская, д.167, оф. 32";
|
|
99
|
+
* "Пушкинский пер., д. 36, кв.234";
|
|
100
|
+
* "ул. Базарная, д. 182к2, 5-й эт.".
|
|
101
|
+
|
|
102
|
+
@Ryba::Address.postal@ - случайный полный почтовый адрес. _Примеры:_
|
|
103
|
+
* "242733, Рязанская обл., г. Спас-Клепики, ул. Куйбышева, 42-22";
|
|
104
|
+
* "471408, Челябинская обл., г. Златоуст, ул. Квартальная, 174-282";
|
|
105
|
+
* "195730, Воронежская обл., г. Калач, ул. Волжская, д. 175, кв. 7";
|
|
106
|
+
* "342656, Краснодарский край, г. Лабинск, ул. Ворошилова, д.153, кв.225";
|
|
107
|
+
* "209218, Сахалинская обл., г. Корсаков, ул. Мусоргского д. 65 кв. 206";
|
|
108
|
+
* "485245, г. Курган, ул. Литвинова д.173 кв. 245".
|
|
109
|
+
|
|
110
|
+
Обратите внимание, что индекс не является настоящим и что в городе может не быть
|
|
111
|
+
такой улицы (а на улице — такого дома, а в доме — такой квартиры).
|
|
112
|
+
|
|
75
113
|
h2. Лицензия
|
|
76
114
|
|
|
77
115
|
Библиотека ryba распространяется по лицензии MIT, см. файл MIT-LICENSE.
|
data/VERSION.yml
CHANGED
data/lib/ryba.rb
CHANGED
|
@@ -9,10 +9,31 @@ module Ryba
|
|
|
9
9
|
variants[rand(variants.size)]
|
|
10
10
|
when String
|
|
11
11
|
variants[rand(variants.length),1]
|
|
12
|
+
when Range
|
|
13
|
+
if variants.exclude_end?
|
|
14
|
+
rand(variants.last - variants.first) + variants.first
|
|
15
|
+
else
|
|
16
|
+
rand((variants.last+1) - variants.first) + variants.first
|
|
17
|
+
end
|
|
12
18
|
end
|
|
13
19
|
end
|
|
20
|
+
|
|
21
|
+
def self.weighted_pick(variants)
|
|
22
|
+
total_sum = variants.inject(0) { |sum, var| sum + var[1] }
|
|
23
|
+
rnd = rand(total_sum)
|
|
24
|
+
|
|
25
|
+
sum = 0
|
|
26
|
+
variants.each do |var|
|
|
27
|
+
sum += var[1]
|
|
28
|
+
return var[0] if rnd < sum
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
# этого не может быть
|
|
32
|
+
raise
|
|
33
|
+
end
|
|
14
34
|
end
|
|
15
35
|
|
|
16
36
|
require File.join(File.dirname(__FILE__), 'ryba', 'data')
|
|
17
37
|
require File.join(File.dirname(__FILE__), 'ryba', 'name')
|
|
18
38
|
require File.join(File.dirname(__FILE__), 'ryba', 'phone_number')
|
|
39
|
+
require File.join(File.dirname(__FILE__), 'ryba', 'address')
|
data/lib/ryba/address.rb
ADDED
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
module Ryba
|
|
2
|
+
class Address
|
|
3
|
+
class<<self
|
|
4
|
+
def index
|
|
5
|
+
Ryba.pick(100000...700000)
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
def city
|
|
9
|
+
Ryba.pick(Ryba::Data::AllCities).gsub('_', ' ')
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def full_city
|
|
13
|
+
cty = Ryba.pick(Ryba::Data::AllCities)
|
|
14
|
+
h_cty = cty.gsub('_', ' ')
|
|
15
|
+
|
|
16
|
+
region = Ryba.pick(Ryba::Data::RegionByCities[cty])
|
|
17
|
+
|
|
18
|
+
if Ryba::Data::CitiesByRegion[region].first == cty
|
|
19
|
+
"г. #{h_cty}"
|
|
20
|
+
else
|
|
21
|
+
"#{region}, г. #{h_cty}"
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def street
|
|
26
|
+
Ryba.pick(Ryba::Data::StreetNames)
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
BuildingFormats = [
|
|
30
|
+
[ 'д. #', 90 ],
|
|
31
|
+
[ 'д.#', 80 ],
|
|
32
|
+
[ 'д. #/?', 15 ],
|
|
33
|
+
[ 'д. #к?', 10 ],
|
|
34
|
+
[ 'стр. #', 10 ],
|
|
35
|
+
[ 'д.#/?', 5 ],
|
|
36
|
+
[ 'д.#к?', 5 ],
|
|
37
|
+
[ 'стр.#', 5 ],
|
|
38
|
+
].freeze
|
|
39
|
+
|
|
40
|
+
ApartmentFormats = [
|
|
41
|
+
[ 'кв. #', 10 ],
|
|
42
|
+
[ 'оф. #', 10 ],
|
|
43
|
+
[ '? этаж', 2 ],
|
|
44
|
+
[ 'кв.#', 5 ],
|
|
45
|
+
[ 'оф.#', 5 ],
|
|
46
|
+
[ '?-й эт.', 1 ],
|
|
47
|
+
]
|
|
48
|
+
|
|
49
|
+
def address
|
|
50
|
+
building = Ryba.pick(1..200)
|
|
51
|
+
apartment = Ryba.pick(1..300)
|
|
52
|
+
separator = Ryba.pick([' ', ', '])
|
|
53
|
+
|
|
54
|
+
street + separator +
|
|
55
|
+
if rand(10) < 2
|
|
56
|
+
"#{building}-#{apartment}"
|
|
57
|
+
else
|
|
58
|
+
formatter = lambda do |fmts, num|
|
|
59
|
+
Ryba.weighted_pick(fmts).gsub('#', num.to_s).gsub('?', Ryba.pick(1..9).to_s)
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
building = formatter.call(BuildingFormats, building)
|
|
63
|
+
apartment = formatter.call(ApartmentFormats, apartment)
|
|
64
|
+
|
|
65
|
+
"#{building}#{separator}#{apartment}"
|
|
66
|
+
end
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
def postal
|
|
70
|
+
"#{index}, #{full_city}, #{address}"
|
|
71
|
+
end
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
end
|
data/lib/ryba/data.rb
CHANGED
|
@@ -281,7 +281,7 @@ module Ryba
|
|
|
281
281
|
Щеткин Щукин Щуров Энтин Ювелев Юганцев Югов Юдачёв Юдашкин Юдин
|
|
282
282
|
Юнкин Юракин Юрнаев Юрьев Юсупов Ютилов Юферев Якимов Яковлев
|
|
283
283
|
Якубов Якунин Якушев Якушин Янаев Янков Яромеев Ярцев Ясенев
|
|
284
|
-
Яснеев Яшин} +
|
|
284
|
+
Яснеев Яшин} +
|
|
285
285
|
[ [ "Аксенчук", '', '' ],
|
|
286
286
|
[ "Антонович", '', '' ],
|
|
287
287
|
[ "Бебчук", '', '' ],
|
|
@@ -384,5 +384,434 @@ module Ryba
|
|
|
384
384
|
[ "Янковск", 'ий', 'ая' ],
|
|
385
385
|
[ "Янукович", '', '' ],
|
|
386
386
|
[ "Ярмольник", '', '' ] ]
|
|
387
|
+
|
|
388
|
+
# http://b23.ru/qtq
|
|
389
|
+
CitiesByRegion = {
|
|
390
|
+
# Центральный федеральный округ
|
|
391
|
+
'Белгородская обл.' => %w(Белгород Алексеевка Бирюч Валуйки Грайворон Губкин Короча Строитель Шебекино
|
|
392
|
+
Новый_Оскол Старый_Оскол),
|
|
393
|
+
|
|
394
|
+
'Брянская обл.' => %w(Брянск Дятьково Жуковка Злынка Карачев Клинцы Мглин Новозыбков Почеп Севск Сельцо
|
|
395
|
+
Стародуб Сураж Трубчевск Унеча Фокино),
|
|
396
|
+
|
|
397
|
+
'Владимирская обл.' => %w(Владимир Александров Вязники Гороховец Гусь-Хрустальный Камешково Карабаново
|
|
398
|
+
Киржач Ковров Кольчугино Костерево Курлово Лакинск Меленки Муром Петушки
|
|
399
|
+
Покров Радужный Собинка Струнино Судогда Суздаль Юрьев-Польский),
|
|
400
|
+
|
|
401
|
+
'Воронежская обл.' => %w(Воронеж Бобров Богучар Борисоглебск Бутурлиновка Калач Лиски Нововоронеж
|
|
402
|
+
Новохоперск Острогожск Павловск Поворино Россошь Семилуки Эртиль),
|
|
403
|
+
|
|
404
|
+
'Ивановская обл.' => %w(Иваново Вичуга Заволжск Кинешма Комсомольск Кохма Наволоки Плес Приволжск
|
|
405
|
+
Пучеж Родники Тейково Фурманов Шуя Южа Юрьевец Гаврилов_Посад),
|
|
406
|
+
|
|
407
|
+
'Калужская обл.' => %w(Калуга Балабаново Белоусово Боровск Ермолино Жиздра Жуков Киров Козельск
|
|
408
|
+
Кондрово Кремёнки Людиново Малоярославец Медынь Мещовск Мосальск Обнинск
|
|
409
|
+
Сосенский Спас-Деменск Сухиничи Таруса Юхнов),
|
|
410
|
+
|
|
411
|
+
'Костромская обл.' => %w(Кострома Буй Волгореченск Галич Кологрив Макарьев Мантурово Нерехта Нея
|
|
412
|
+
Солигалич Чухлома Шарья),
|
|
413
|
+
|
|
414
|
+
'Курская обл.' => %w(Курск Дмитриев-Льговский Железногорск Курчатов Льгов Обоянь Рыльск Суджа Фатеж Щигры),
|
|
415
|
+
|
|
416
|
+
'Липецкая обл.' => %w(Липецк Грязи Данков Елец Задонск Лебедянь Усмань Чаплыгин),
|
|
417
|
+
|
|
418
|
+
'Московская обл.' => %w(Москва Апрелевка Балашиха Бронницы Верея Видное Волоколамск Воскресенск
|
|
419
|
+
Высоковск Дедовск Дзержинский Дмитров Долгопрудный Домодедово Дрезна Дубна
|
|
420
|
+
Егорьевск Железнодорожный Жуковский Зарайск Звенигород Ивантеевка Истра Кашира
|
|
421
|
+
Климовск Клин Коломна Королёв Красноармейск Красногорск Краснозаводск
|
|
422
|
+
Краснознаменск Куровское Ликино-Дулёво Лобня Лосино-Петровский Луховицы Лыткарино
|
|
423
|
+
Люберцы Можайск Мытищи Наро-Фоминск Ногинск Одинцово Ожерелье Озёры Орехово-Зуево
|
|
424
|
+
Павловский_Посад Пересвет Подольск Протвино Пушкино Пущино Раменское Реутов Рошаль
|
|
425
|
+
Руза Сергиев_Посад Серпухов Солнечногорск Ступино Сходня Талдом Троицк Фрязино
|
|
426
|
+
Химки Хотьково Черноголовка Чехов Шатура Щёлково Щербинка Электрогорск
|
|
427
|
+
Электросталь Электроугли Юбилейный Яхрома),
|
|
428
|
+
|
|
429
|
+
'Орловская обл.' => %w(Орёл Болхов Дмитровск Ливны Малоархангельск Мценск Новосиль),
|
|
430
|
+
|
|
431
|
+
'Рязанская обл.' => %w(Рязань Касимов Кораблино Михайлов Новомичуринск Рыбное Ряжск Сасово Скопин
|
|
432
|
+
Спас-Клепики Спасск-Рязанский Шацк),
|
|
433
|
+
|
|
434
|
+
'Смоленская обл.' => %w(Смоленск Велиж Вязьма Гагарин Демидов Десногорск Дорогобуж Духовщина Ельня
|
|
435
|
+
Починок Рославль Рудня Сафоново Сычевка Ярцево),
|
|
436
|
+
|
|
437
|
+
'Тамбовская обл.' => %w(Тамбов Жердевка Кирсанов Котовск Мичуринск Моршанск Рассказово Уварово),
|
|
438
|
+
|
|
439
|
+
'Тверская обл.' => %w(Тверь Андреаполь Бежецк Белый Бологое Весьегонск Вышний_Волочек Западная_Двина
|
|
440
|
+
Зубцов Калязин Кашин Кимры Конаково Красный_Холм Кувшиново Лихославль Нелидово
|
|
441
|
+
Осташков Ржев Старица Торжок Торопец Удомля),
|
|
442
|
+
|
|
443
|
+
'Тульская обл.' => %w(Тула Алексин Белев Богородицк Болохово Венев Донской Ефремов Кимовск Киреевск
|
|
444
|
+
Липки Новомосковск Плавск Северо-Задонск Советск Сокольники Суворов Узловая
|
|
445
|
+
Чекалин Щекино Ясногорск),
|
|
446
|
+
|
|
447
|
+
'Ярославская обл.' => %w(Ярославль Гаврилов-Ям Данилов Любим Мышкин Переславль-Залесский Пошехонье
|
|
448
|
+
Ростов Рыбинск Тутаев Углич),
|
|
449
|
+
|
|
450
|
+
# Северо-Западный федеральный округ
|
|
451
|
+
'Республика Карелия' => [nil] + %w(Беломорск Кемь Кондопога Костомукша Лахденпохья Медвежьегорск
|
|
452
|
+
Олонец Петрозаводск Питкяранта Пудож Сегежа Сортавала Суоярви),
|
|
453
|
+
|
|
454
|
+
'Республика Коми' => [nil] + %w(Воркута Вуктыл Емва Инта Микунь Печора Сосногорск Сыктывкар Усинск Ухта),
|
|
455
|
+
|
|
456
|
+
'Архангельская обл.' => %w(Архангельск Вельск Каргополь Коряжма Котлас Мезень Мирный Новодвинск
|
|
457
|
+
Няндома Онега Северодвинск Сольвычегодск Шенкурск),
|
|
458
|
+
|
|
459
|
+
'Ненецкий автономный округ' => [nil, 'Нарьян-Мар'],
|
|
460
|
+
|
|
461
|
+
'Вологодская обл.' => %w(Вологда Бабаево Белозерск Великий_Устюг Вытегра Грязовец Кадников Кириллов
|
|
462
|
+
Красавино Никольск Сокол Тотьма Устюжна Харовск Череповец),
|
|
463
|
+
|
|
464
|
+
'Калининградская обл.' => %w(Калининград Багратионовск Балтийск Гвардейск Гурьевск Гусев Зеленоградск
|
|
465
|
+
Краснознаменск Ладушкин Мамоново Неман Нестеров Озерск Пионерский Полесск
|
|
466
|
+
Правдинск Приморск Светлогорск Светлый Славск Советск Черняховск),
|
|
467
|
+
|
|
468
|
+
'Ленинградская обл.' => %w(Санкт-Петербург Бокситогорск Волосово Волхов Всеволожск Выборг Высоцк Гатчина
|
|
469
|
+
Ивангород Каменногорск Кингисепп Кириши Кировск Коммунар Лодейное_Поле Луга Любань
|
|
470
|
+
Никольское Новая Ладога Отрадное Пикалево Подпорожье Приморск Приозерск Светогорск
|
|
471
|
+
Сертолово Сланцы Сосновый_Бор Сясьстрой Тихвин Тосно Шлиссельбург),
|
|
472
|
+
|
|
473
|
+
'Мурманская обл.' => %w(Мурманск Апатиты Гаджиево Заозерск Заполярный Кандалакша Кировск Ковдор Кола Мончегорск
|
|
474
|
+
Оленегорск Островной Полярные_Зори Полярный Североморск Скалистый Снежногорск),
|
|
475
|
+
|
|
476
|
+
'Новгородская обл.' => %w(Великий_Новгород Боровичи Валдай Малая Вишера Окуловка Пестово Сольцы
|
|
477
|
+
Старая_Русса Холм Чудово),
|
|
478
|
+
|
|
479
|
+
'Псковская обл.' => %w(Псков Великие_Луки Гдов Дно Невель Новоржев Новосокольники Опочка Остров Печоры
|
|
480
|
+
Порхов Пустошка Пыталово Себеж),
|
|
481
|
+
|
|
482
|
+
# Южный федеральный округ
|
|
483
|
+
'Республика Адыгея' => [nil] + %w(Адыгейск Майкоп),
|
|
484
|
+
|
|
485
|
+
'Республика Дагестан' => [nil] + %w(Буйнакск Дагестанские_Огни Дербент Избербаш Каспийск Кизилюрт
|
|
486
|
+
Кизляр Махачкала Хасавюрт Южно-Сухокумск),
|
|
487
|
+
|
|
488
|
+
'Республика Ингушетия' => [nil] + %w(Карабулак Магас Малгобек Назрань),
|
|
489
|
+
|
|
490
|
+
'Кабардино-Балкарская Республика' => [nil] + %w(Баксан Майский Нальчик Нарткала Прохладный Терек Тырныауз Чегем),
|
|
491
|
+
|
|
492
|
+
'Республика Калмыкия' => [nil] + %w(Городовиковск Лагань Элиста),
|
|
493
|
+
|
|
494
|
+
'Карачаево-Черкесская Республика' => [nil] + %w(Карачаевск Теберда Усть-Джегута Черкесск),
|
|
495
|
+
|
|
496
|
+
'Республика Северная Осетия-Алания' => [nil] + %w(Алагир Ардон Беслан Владикавказ Дигора Моздок),
|
|
497
|
+
|
|
498
|
+
'Чеченская Республика' => [nil] + %w(Аргун Грозный Гудермес Урус-Мартан Шали),
|
|
499
|
+
|
|
500
|
+
'Краснодарский край' => %w(Краснодар Абинск Анапа Апшеронск Армавир Белореченск Геленджик Горячий_Ключ
|
|
501
|
+
Гулькевичи Ейск Кореновск Кропоткин Крымск Курганинск Лабинск Новокубанск
|
|
502
|
+
Новороссийск Приморско-Ахтарск Славянск-на-Кубани Сочи Темрюк Тимашевск Тихорецк
|
|
503
|
+
Тихорецк Туапсе Усть-Лабинск Хадыженск),
|
|
504
|
+
|
|
505
|
+
'Ставропольский край' => %w(Ставрополь Благодарный Будённовск Георгиевск Ессентуки Железноводск Зеленокумск
|
|
506
|
+
Изобильный Ипатово Кисловодск Лермонтов Минеральные_Воды Михайловск Невинномысск
|
|
507
|
+
Нефтекумск Новоалександровск Новопавловск Пятигорск Светлоград),
|
|
508
|
+
|
|
509
|
+
'Астраханская обл.' => %w(Астрахань Ахтубинск Знаменск Камызяк Нариманов Харабали),
|
|
510
|
+
|
|
511
|
+
'Волгоградская обл.' => %w(Волгоград Волжский Дубовка Жирновск Калач-на-Дону Камышин Котельниково Котово
|
|
512
|
+
Краснослободск Ленинск Михайловка Николаевск Новоаннинский Палласовка Петров_Вал
|
|
513
|
+
Серафимович Суровикино Урюпинск Фролово),
|
|
514
|
+
|
|
515
|
+
'Ростовская обл.' => %w(Ростов-на-Дону Азов Аксай Батайск Белая_Калитва Волгодонск Гуково Донецк Зверево
|
|
516
|
+
Зерноград Каменск-Шахтинский Константиновск Красный_Сулин Миллерово Морозовск
|
|
517
|
+
Новочеркасск Новошахтинск Пролетарск Сальск Семикаракорск Таганрог Цимлянск Шахты),
|
|
518
|
+
|
|
519
|
+
|
|
520
|
+
# Приволжский федеральный округ
|
|
521
|
+
'Республика Башкортостан' => [nil] + %w(Агидель Баймак Белебей Белорецк Бирск Благовещенск Давлеканово
|
|
522
|
+
Дюртюли Ишимбай Кумертау Межгорье Мелеуз Нефтекамск Октябрьский
|
|
523
|
+
Салават Сибай Стерлитамак Туймазы Уфа Учалы Учалы Янаул),
|
|
524
|
+
|
|
525
|
+
'Республика Марий Эл' => [nil] + %w(Волжск Звенигово Йошкар-Ола Козьмодемьянск),
|
|
526
|
+
|
|
527
|
+
'Республика Мордовия' => [nil] + %w(Ардатов Инсар Ковылкино Краснослободск Рузаевка Саранск Темников),
|
|
528
|
+
|
|
529
|
+
'Республика Татарстан' => [nil] + %w(Агрыз Азнакаево Альметьевск Бавлы Болгар Бугульма Буинск Елабуга
|
|
530
|
+
Заинск Зеленодольск Казань Лениногорск Мамадыш Менделеевск Мензелинск
|
|
531
|
+
Набережные_Челны Нижнекамск Нурлат Тетюши Чистополь),
|
|
532
|
+
|
|
533
|
+
'Удмуртская Республика' => [nil] + %w(Воткинск Глазов Ижевск Камбарка Можга Сарапул),
|
|
534
|
+
|
|
535
|
+
'Чувашская Республика' => [nil] + %w(Алатырь Канаш Козловка Мариинский_Посад Новочебоксарск Цивильск
|
|
536
|
+
Чебоксары Шумерля Ядрин),
|
|
537
|
+
|
|
538
|
+
'Пермский край' => %w(Пермь Александровск Березники Верещагино Горнозаводск Гремячинск Губаха Добрянка
|
|
539
|
+
Кизел Красновишерск Краснокамск Кудымкар Кунгур Лысьва Нытва Оса Оханск Очер
|
|
540
|
+
Соликамск Усолье Чайковский Чердынь Чермоз Чернушка Чусовой),
|
|
541
|
+
|
|
542
|
+
'Кировская обл.' => %w(Киров Белая_Холуница Вятские_Поляны Зуевка Кирово-Чепецк Кирс Котельнич Луза Малмыж
|
|
543
|
+
Мураши Нолинск Омутнинск Орлов Слободской Советск Сосновка Уржум Яранск),
|
|
544
|
+
|
|
545
|
+
'Нижегородская обл.' => %w(Нижний_Новгород Арзамас Балахна Богородск Бор Ветлуга Володарск Ворсма Выкса
|
|
546
|
+
Горбатов Городец Дзержинск Заволжье Княгинино Кстово Кулебаки Лукоянов Лысково
|
|
547
|
+
Навашино Павлово Первомайск Перевоз Саров Семенов Сергач Урень Чкаловск Шахунья),
|
|
548
|
+
|
|
549
|
+
'Оренбургская обл.' => %w(Оренбург Абдулино Бугуруслан Бузулук Гай Кувандык Медногорск Новотроицк
|
|
550
|
+
Орск Соль-Илецк Сорочинск Ясный),
|
|
551
|
+
|
|
552
|
+
'Пензенская обл.' => %w(Пенза Беднодемьяновск Белинский Городище Заречный Каменка Кузнецк Нижний_Ломов
|
|
553
|
+
Никольск Сердобск Сурск),
|
|
554
|
+
|
|
555
|
+
'Самарская обл.' => %w(Самара Жигулевск Кинель Нефтегорск Новокуйбышевск Октябрьск Отрадный Похвистнево
|
|
556
|
+
Сызрань Тольятти Чапаевск),
|
|
557
|
+
|
|
558
|
+
'Саратовская обл.' => %w(Саратов Аркадак Аткарск Балаково Балашов Вольск Ершов Калининск Красноармейск
|
|
559
|
+
Красный_Кут Маркс Новоузенск Петровск Пугачев Ртищево Хвалынск Шиханы Энгельс),
|
|
560
|
+
|
|
561
|
+
'Ульяновская обл.' => %w(Ульяновск Барыш Димитровград Инза Новоульяновск Сенгилей Карсун Старая_Майна),
|
|
562
|
+
|
|
563
|
+
# Уральский федеральный округ
|
|
564
|
+
'Курганская обл.' => %w(Курган Далматово Катайск Куртамыш Макушино Петухово Шадринск Шумиха Щучье),
|
|
565
|
+
|
|
566
|
+
'Свердловская обл.' => %w(Екатеринбург Алапаевск Арамиль Артемовский Асбест Березовский Богданович
|
|
567
|
+
Верхний_Тагил Верхняя_Пышма Верхняя_Салда Верхняя_Тура Верхотурье Волчанск Дегтярск
|
|
568
|
+
Заречный Ивдель Ирбит Каменск-Уральский Камышлов Карпинск Качканар Кировград
|
|
569
|
+
Краснотурьинск Красноуральск Красноуфимск Кушва Лесной Михайловск Невьянск
|
|
570
|
+
Нижние_Серги Нижний_Тагил Нижняя_Салда Нижняя_Тура Новая_Ляля Новоуральск
|
|
571
|
+
Первоуральск Полевской Ревда Реж Североуральск Серов Среднеуральск Сухой_Лог
|
|
572
|
+
Сысерть Тавда Талица Туринск),
|
|
573
|
+
|
|
574
|
+
'Тюменская обл.' => %w(Тюмень Заводоуковск Ишим Тобольск Ялуторовск),
|
|
575
|
+
|
|
576
|
+
'Ханты-Мансийский автономный округ' => %w(Ханты-Мансийск Белоярский Когалым Лангепас Лянтор Мегион
|
|
577
|
+
Нефтеюганск Нижневартовск Нягань Покачи Пыть-Ях Радужный
|
|
578
|
+
Советский Сургут Урай Югорск),
|
|
579
|
+
|
|
580
|
+
'Ямало-Ненецкий автономный округ' => [nil] + %w(Губкинский Лабытнанги Муравленко Надым Новый_Уренгой
|
|
581
|
+
Ноябрьск Салехард),
|
|
582
|
+
|
|
583
|
+
'Челябинская обл.' => %w(Челябинск Аша Бакал Верхнеуральск Верхний_Уфалей Еманжелинск Златоуст Карабаш
|
|
584
|
+
Карталы Касли Катав-Ивановск Копейск Коркино Куса Кыштым Магнитогорск Миасс Миньяр
|
|
585
|
+
Нязепетровск Озерск Пласт Сатка Сим Снежинск Трехгорный Троицк Усть-Катав
|
|
586
|
+
Чебаркуль Южноуральск Юрюзань),
|
|
587
|
+
|
|
588
|
+
# Сибирский федеральный округ
|
|
589
|
+
'Республика Алтай' => %w(Горно-Алтайск),
|
|
590
|
+
|
|
591
|
+
'Республика Бурятия' => [nil] + %w(Бабушкин Гусиноозерск Закаменск Кяхта Северобайкальск Улан-Удэ),
|
|
592
|
+
|
|
593
|
+
'Республика Тыва' => [nil] + %w(Ак-Довурак Кызыл Туран Чадан Шагонар),
|
|
594
|
+
|
|
595
|
+
'Республика Хакасия' => [nil] + %w(Абаза Абакан Саяногорск Сорск Черногорск),
|
|
596
|
+
|
|
597
|
+
'Алтайский край' => %w(Барнаул Алейск Белокуриха Бийск Горняк Заринск Змеиногорск Камень-на-Оби
|
|
598
|
+
Новоалтайск Рубцовск Славгород Яровое),
|
|
599
|
+
|
|
600
|
+
'Забайкальский край' => %w(Чита Балей Борзя Краснокаменск Могоча Нерчинск Петровск-Забайкальский
|
|
601
|
+
Сретенск Хилок Шилка),
|
|
602
|
+
|
|
603
|
+
'Красноярский край' => %w(Красноярск Артемовск Ачинск Боготол Бородино Дивногорск Дудинка Енисейск
|
|
604
|
+
Железногорск Заозерный Зеленогорск Игарка Иланский Кайеркан Канск Кодинск
|
|
605
|
+
Лесосибирск Минусинск Назарово Норильск Сосновоборск Талнах Ужур Уяр Шарыпово),
|
|
606
|
+
|
|
607
|
+
'Иркутская обл.' => %w(Иркутск Алзамай Ангарск Байкальск Бирюсинск Бодайбо Братск Вихоревка
|
|
608
|
+
Железногорск-Илимский Зима Киренск Нижнеудинск Саянск Свирск Слюдянка Тайшет Тулун
|
|
609
|
+
Усолье-Сибирское Усть-Илимск Усть-Кут Черемхово Шелехов),
|
|
610
|
+
|
|
611
|
+
'Кемеровская обл.' => %w(Кемерово Анжеро-Судженск Белово Березовский Гурьевск Калтан Киселевск
|
|
612
|
+
Ленинск-Кузнецкий Мариинск Междуреченск Мыски Новокузнецк Осинники Полысаево
|
|
613
|
+
Прокопьевск Салаир Тайга Таштагол Топки Юрга),
|
|
614
|
+
|
|
615
|
+
'Новосибирская обл.' => %w(Новосибирск Барабинск Бердск Болотное Искитим Карасук Каргат Куйбышев
|
|
616
|
+
Купино Обь Татарск Тогучин Черепаново Чулым),
|
|
617
|
+
|
|
618
|
+
'Омская обл.' => %w(Омск Исилькуль Калачинск Называевск Тара Тюкалинск),
|
|
619
|
+
|
|
620
|
+
'Томская обл.' => %w(Томск Асино Кедровый Колпашево Северск Стрежевой),
|
|
621
|
+
|
|
622
|
+
# Дальневосточный федеральный округ
|
|
623
|
+
'Республика Саха' => [nil] + %w(Алдан Верхоянск Вилюйск Ленск Мирный Нерюнгри Нюрба Олекминск Покровск
|
|
624
|
+
Среднеколымск Томмот Удачный Якутск),
|
|
625
|
+
|
|
626
|
+
'Камчатский край' => %w(Петропавловск-Камчатский Вилючинск Елизово),
|
|
627
|
+
|
|
628
|
+
'Приморский край' => %w(Владивосток Арсеньев Артем Большой_Камень Дальнегорск Дальнереченск Лесозаводск
|
|
629
|
+
Находка Партизанск Спасск-Дальний Уссурийск Фокино),
|
|
630
|
+
|
|
631
|
+
'Хабаровский край' => %w(Хабаровск Амурск Бикин Вяземский Комсомольск-на-Амуре Николаевск-на-Амуре
|
|
632
|
+
Советская_Гавань),
|
|
633
|
+
|
|
634
|
+
'Амурская обл.' => [nil] + %w(Белогорск Благовещенск Завитинск Зея Райчихинск Свободный Сковородино
|
|
635
|
+
Тында Шимановск),
|
|
636
|
+
|
|
637
|
+
'Магаданская обл.' => %w(Магадан Сусуман),
|
|
638
|
+
|
|
639
|
+
'Сахалинская обл.' => %w(Южно-Сахалинск Александровск-Сахалинский Анива Горнозаводск Долинск Корсаков
|
|
640
|
+
Красногорск Курильск Макаров Невельск Оха Поронайск Северо-Курильск Томари
|
|
641
|
+
Углегорск Холмск Чехов Шахтерск),
|
|
642
|
+
|
|
643
|
+
'Еврейская автономная область' => [nil] + %w(Биробиджан Облучье),
|
|
644
|
+
|
|
645
|
+
'Чукотский автономный округ' => [nil] + %w( Анадырь Билибино Певек)
|
|
646
|
+
}.freeze
|
|
647
|
+
|
|
648
|
+
unless defined? RegionByCities
|
|
649
|
+
region_by_cities = Hash.new { |hash, key| hash[key] = [] }
|
|
650
|
+
|
|
651
|
+
CitiesByRegion.each do |region, cities|
|
|
652
|
+
cities.each do |city|
|
|
653
|
+
region_by_cities[city] << region if city
|
|
654
|
+
end
|
|
655
|
+
end
|
|
656
|
+
|
|
657
|
+
RegionByCities = region_by_cities.freeze
|
|
658
|
+
AllCities = RegionByCities.keys.freeze
|
|
659
|
+
end
|
|
660
|
+
|
|
661
|
+
# http://feofanov.fizteh.ru/toall/street.html
|
|
662
|
+
StreetNames = ((%w{
|
|
663
|
+
Советская Молодежная Центральная Школьная Новая Садовая Лесная Набережная
|
|
664
|
+
Ленина Мира Октябрьская Зеленая Комсомольская Заречная Первомайская
|
|
665
|
+
Гагарина Полевая Луговая Пионерская Кирова Юбилейная Северная
|
|
666
|
+
Пролетарская Степная Пушкина Калинина Южная Колхозная Рабочая Солнечная
|
|
667
|
+
Железнодорожная Восточная Заводская Чапаева Нагорная Строителей Береговая
|
|
668
|
+
Победы Горького Кооперативная Красноармейская Совхозная Речная Спортивная
|
|
669
|
+
Озерная Строительная Парковая Чкалова Мичурина Подгорная Дружбы Почтовая
|
|
670
|
+
Партизанская Вокзальная Лермонтова Свободы Дорожная Дачная Маяковского
|
|
671
|
+
Западная Фрунзе Дзержинского Московская Свердлова Некрасова Гоголя
|
|
672
|
+
Красная Трудовая Шоссейная Чехова Коммунистическая Труда Комарова
|
|
673
|
+
Матросова Островского Сосновая Клубная Куйбышева Крупской Березовая
|
|
674
|
+
Больничная Интернациональная Суворова Цветочная Трактовая Ломоносова
|
|
675
|
+
Горная Космонавтов Энергетиков Шевченко Весенняя Механизаторов
|
|
676
|
+
Коммунальная Майская Энгельса Привокзальная Таежная Транспортная Овражная
|
|
677
|
+
Светлая Вишневая Чернышевского Урицкого Ключевая Ворошилова Тургенева
|
|
678
|
+
Толстого Песчаная Ленинградская Профсоюзная Буденного Орджоникидзе
|
|
679
|
+
Герцена Верхняя Ленинская Кирпичная Мостовая Щорса Станционная
|
|
680
|
+
Луначарского Энтузиастов Титова Лазо Уральская Линейная Пугачева
|
|
681
|
+
Володарского Кутузова Фабричная Чайковского Магистральная Сибирская
|
|
682
|
+
Крестьянская Мелиораторов Российская Новоселов Тихая Широкая Нижняя
|
|
683
|
+
Белинского Тельмана Тимирязева Котовского Народная Промышленная Кольцевая
|
|
684
|
+
Есенина Дальняя Крылова Декабристов Базарная Целинная Родниковая
|
|
685
|
+
Фурманова Революционная Социалистическая Звездная Студенческая Гайдара
|
|
686
|
+
Мирная Терешковой Кубанская Гаражная Фестивальная Гражданская Песочная
|
|
687
|
+
Сиреневая Ватутина Сельская Кузнечная Пушкинская Крайняя Коммунаров
|
|
688
|
+
Гвардейская Веселая Загородная Олимпийская Гастелло Жданова Радищева
|
|
689
|
+
Нефтяников Осипенко Приозерная Рябиновая Заозерная Нахимова Боровая
|
|
690
|
+
Жукова Павлова Урожайная Попова Торговая Жуковского Королева Донская
|
|
691
|
+
Пограничная Огородная Пригородная Грибоедова Стадионная Менделеева
|
|
692
|
+
Достоевского Репина Виноградная Циолковского Воровского Киевская
|
|
693
|
+
Революции Индустриальная Красногвардейская Волжская Кошевого Пархоменко
|
|
694
|
+
Свободная Кедровая Подлесная Полярная Раздольная Карьерная Мельничная
|
|
695
|
+
Серова Украинская Шахтерская Запрудная Элеваторная Театральная
|
|
696
|
+
Добролюбова Геологическая Болотная Красина Коминтерна Придорожная
|
|
697
|
+
Кленовая Разина Черняховского Казачья Ветеранов Малая Пирогова Геологов
|
|
698
|
+
Тукая Морская Волгоградская Димитрова Средняя Безымянная Краснофлотская
|
|
699
|
+
Братская Тенистая Учительская Маркса Кавказская Ушакова Короткая
|
|
700
|
+
Деповская Амурская Сенная Поселковая Юности Короленко Прудовая Шолохова
|
|
701
|
+
Депутатская Авиационная Черемушки Кольцова Плеханова Аэродромная Большая
|
|
702
|
+
Приморская Алтайская Макаренко Глинки Специалистов Халтурина Морозова
|
|
703
|
+
Тополиная Ростовская Тракторная Коммуны Мелиоративная Ольховая Славянская
|
|
704
|
+
Карбышева Баумана Радужная Правды Краснодарская Фадеева Стахановская
|
|
705
|
+
Ярославская Челюскинцев Коллективная Ангарская Новостройка Шмидта
|
|
706
|
+
Кузнецова Локомотивная Войкова Панфилова Ягодная Смоленская Тепличная
|
|
707
|
+
Водопроводная Республиканская Автомобилистов Космодемьянской Осенняя
|
|
708
|
+
Байкальская Седова Саратовская Казанская Блюхера Воронежская Брянская
|
|
709
|
+
Производственная Спартака Техническая Енисейская Николаева Бабушкина
|
|
710
|
+
Севастопольская Окружная Октября Щетинкина Орловская Хуторская Тупиковая
|
|
711
|
+
Каштановая Омская Гончарова Привольная Щербакова Курортная Ивановская
|
|
712
|
+
Выгонная Крымская Путейская Азина Проезжая Сурикова Краснознаменная
|
|
713
|
+
Одесская Января Подстанция Логовая Высокая Ясная Портовая Снежная
|
|
714
|
+
Санаторная Союзная Волкова Ульяновская Никитина Сахалинская Горняцкая
|
|
715
|
+
Рылеева Прибрежная Химиков Рыбацкая Полтавская Тамбовская Красноярская
|
|
716
|
+
Новосельская Проточная Черноморская Курчатова Минская Микрорайон Главная
|
|
717
|
+
Докучаева Вольная Просвещения Смирнова Хвойная Космическая Моховая
|
|
718
|
+
Макарова Курская Курганная Угловая Камская Инженерная Лесозаводская
|
|
719
|
+
Астраханская Иванова Гафури Высоцкого Белорусская Бажова Кочубея
|
|
720
|
+
Заовражная Азовская Ручейная Леонова Волочаевская Надежды Ставропольская
|
|
721
|
+
Металлистов Вавилова Слободская Ульянова Тульская Харьковская Петровская
|
|
722
|
+
Владимирская Семашко Высоковольтная Шаумяна Чайкиной Лазурная Ермака
|
|
723
|
+
Дорожников Покровская Новгородская Ленская Сплавная Ударная Калужская
|
|
724
|
+
Монтажников Прудная Шишкина Краснопартизанская Ореховая Таманская
|
|
725
|
+
Иркутская Металлургов Отрадная Беляева Большевистская Троицкая Лесхозная
|
|
726
|
+
Дружба Васильковая Серафимовича Ильича Механическая Невского Путевая
|
|
727
|
+
Кузнецкая Физкультурная Леваневского Водников Вахитова Станиславского
|
|
728
|
+
Черемуховая Советов Флотская Угольная Пожарского Папанина Просторная
|
|
729
|
+
Поперечная Городская Победа Абрикосовая Бульварная Прохладная Томская
|
|
730
|
+
Энергетическая Литейная Медицинская Заливная Журавлева Бригадная Культуры
|
|
731
|
+
Минина Машиностроителей Детская ДОС Тюленина Запорожская Дальневосточная
|
|
732
|
+
Громова Балтийская Февральская Толбухина Лунная Дарвина Высотная
|
|
733
|
+
Рязанская Малиновая Механизаторская Яблоневая Красногорская Липовая
|
|
734
|
+
Марата Горняков Переселенческая Новосибирская Рождественская Тухачевского
|
|
735
|
+
Лебедева Железнодорожников Бакинская Приречная Хабаровская Тверская
|
|
736
|
+
Малышева Айвазовского Самарская Складская Приовражная Хмельницкого
|
|
737
|
+
Фруктовая Ключевская Мечникова Газовиков Продольная Калининградская
|
|
738
|
+
Земляничная Авиаторов Бородина Связи Уфимская Демократическая Желябова
|
|
739
|
+
Дубовая Прямая Калининская Кировская Менжинского Молодогвардейская
|
|
740
|
+
Петрова Кравченко Лесопильная Дача Губкина Гористая Оренбургская Невская
|
|
741
|
+
Оборонная Паровозная Артиллерийская Пржевальского Текстильщиков
|
|
742
|
+
Спартаковская Янтарная Челюскина Костромская Никольская Новороссийская
|
|
743
|
+
Обская Беговая Свобода Уссурийская Иртышская Конституции Лагерная
|
|
744
|
+
Михайловская Либкнехта Пензенская Саянская Спасская Текстильная
|
|
745
|
+
Международная Донецкая Футбольная Доватора Расковой Красносельская
|
|
746
|
+
Мичуринская Лиманная Возрождения Арсеньева Пятигорская Ремесленная
|
|
747
|
+
Рощинская Тюменская Ярославского Краснодонская Кривая Делегатская Первая
|
|
748
|
+
Аксакова Артема Юлаева Челябинская Левитана Ладожская Летняя Лескова
|
|
749
|
+
Малиновского Мусоргского Крутая Еловая Животноводов Пионеров Нефтебаза
|
|
750
|
+
Офицерская Нестерова Связистов Стаханова Лобачевского Дружная Газовая
|
|
751
|
+
Пихтовая Армейская Рудничная Прогонная Телеграфная Институтская Каменная
|
|
752
|
+
Можайского Милицейская Лихачева Забайкальская Переездная Ветеринарная
|
|
753
|
+
Федорова Ямская Каменская Знаменская Межевая Громовой Онежская Надречная
|
|
754
|
+
Огарева Багратиона Торфяная Станичная Камчатская Джамбула Новаторов
|
|
755
|
+
Ботаническая Апрельская Салтыкова-Щедрина Сеченова Солдатская Танкистов
|
|
756
|
+
Березовская Андреева Аптечная Цимлянская Сосновская Чапаевская Захарова
|
|
757
|
+
Ипподромная Литвинова Гранитная Грибная Дежнева Васильева Рокоссовского
|
|
758
|
+
Промысловая Конечная Изумрудная Маслозаводская Охотничья Низовая
|
|
759
|
+
Перспективная Базовая Республики Читинская Карельская Кустарная МОПРА
|
|
760
|
+
Жемчужная Островная Парниковая Барнаульская Бородинская Аэропорт
|
|
761
|
+
Александровская Рижская Рассветная Сельскохозяйственная Пристанская
|
|
762
|
+
Хлебная Условная Зорге Козлова Заслонова Курганская Мурманская Дунайская
|
|
763
|
+
Жигулевская Егорова Добровольского Писарева Орлова Нариманова Пестеля
|
|
764
|
+
Автомобильная Большевиков Брестская Салавата Квартальная Люксембург
|
|
765
|
+
Кропоткина Культурная Мамина-Сибиряка Гончарная Пермская Водная
|
|
766
|
+
Беломорская Пугачевская Краснооктябрьская Кузбасская Днепровская
|
|
767
|
+
Объездная Армавирская Верещагина Проселочная Ползунова Учебная Тукаева
|
|
768
|
+
Филатова Стрельникова Львовская Кулибина Интернационала Водопьянова
|
|
769
|
+
Соловьиная Черниговская Каспийская Известковая Ильинская Инициативная
|
|
770
|
+
Луганская Покрышкина Новогодняя Обручева Алексеева Силикатная Ташкентская
|
|
771
|
+
Худайбердина Магнитогорская Горская Вологодская Державина Бебеля Славы
|
|
772
|
+
Русская Правобережная} +
|
|
773
|
+
[
|
|
774
|
+
'1 Мая', '30 лет Победы', '40 лет ВЛКСМ', '40 лет Победы', '40 лет Октября', '50 лет ВЛКСМ', '50 лет Победы',
|
|
775
|
+
'50 лет Октября', '60 лет СССР', '60 лет Октября', '70 лет Октября', '8 Марта', '9 Мая', 'Зои Космодемьянской',
|
|
776
|
+
'Мусы Джалиля', 'Лизы Чайкиной', 'Льва Толстого', 'Розы Люксембург', 'Сакко и Ванцетти', 'Карла Маркса',
|
|
777
|
+
'Клары Цеткин', 'Олега Кошевого', 'Карла Либкнехта', 'Сергея Лазо', 'Дружбы Народов', 'Красных Зорь',
|
|
778
|
+
'Красная Горка', 'Маршала Жукова', 'Степана Разина', 'Демьяна Бедного', 'Молодой Гвардии', 'Красных Партизан',
|
|
779
|
+
'Максима Горького', 'Павлика Морозова', 'Богдана Хмельницкого', 'Сосновый бор', 'Салавата Юлаева',
|
|
780
|
+
'Советской Армии', 'Парижской Коммуны'
|
|
781
|
+
]).map { |str| "ул. #{str}" } + %w{
|
|
782
|
+
Школьный Садовый Лесной Зеленый Советский Новый Октябрьский
|
|
783
|
+
Первомайский Комсомольский Пионерский Южный Северный Больничный Речной
|
|
784
|
+
Почтовый Восточный Молодежный Рабочий Солнечный Колхозный Заводской
|
|
785
|
+
Тихий Западный Степной Спортивный Центральный Луговой Кооперативный
|
|
786
|
+
Полевой Пролетарский Мирный Железнодорожный Клубный Совхозный
|
|
787
|
+
Красноармейский Дорожный Горный Заречный Озерный Майский Парковый
|
|
788
|
+
Набережный Дачный Строительный Юбилейный Малый Короткий Сосновый
|
|
789
|
+
Светлый Овражный Безымянный Березовый Береговой Пушкина Партизанский
|
|
790
|
+
Нагорный Красный Чапаева Кирова Вокзальный Коммунальный Строителей
|
|
791
|
+
Кузнечный Кирпичный Базарный Калинина Гагарина Песчаный Цветочный
|
|
792
|
+
Ленина Веселый Трудовой Мостовой Дальний Торговый Мира Мельничный
|
|
793
|
+
Вишневый Транспортный Московский Лермонтова Горького Некрасова Чехова
|
|
794
|
+
Маяковского Фабричный Чкалова Широкий Подгорный Дружбы Весенний
|
|
795
|
+
Тупиковый Шоссейный Средний Гоголя Матросова Ключевой Шевченко Крупской
|
|
796
|
+
Победы Свободный Узкий Звездный Коммунистический Линейный Таежный
|
|
797
|
+
Ленинский Свердлова Донской Островского Фрунзе Дзержинского Пушкинский
|
|
798
|
+
Станционный Мичурина Гаражный Казачий Кривой Глухой Верхний Тургенева
|
|
799
|
+
Суворова Кольцевой Куйбышева Виноградный Свободы Крайний Крестьянский
|
|
800
|
+
Песочный Интернациональный Кубанский Банный Чернышевского Гвардейский
|
|
801
|
+
Уральский Огородный Братский Театральный Крутой Пожарный Родниковый
|
|
802
|
+
Урицкого Промышленный Сибирский Ломоносова Кировский Карьерный
|
|
803
|
+
Механизаторов Болотный Привокзальный Энергетиков Гражданский Нижний
|
|
804
|
+
Володарского Энгельса Ленинградский Урожайный Тупой Щорса Буденного
|
|
805
|
+
Сенной Котовского Сельский Сиреневый Толстого Луначарского Волжский
|
|
806
|
+
Тракторный Стадионный Кедровый Комарова Герцена Марта Прямой
|
|
807
|
+
Революционный Целинный Элеваторный Киевский Крылова Детский Аптечный
|
|
808
|
+
Профсоюзный Учительский Каменный Кутузова Загородный Пугачева Радужный
|
|
809
|
+
Пригородный}.map { |str| str.end_with?("й") ? "#{str} пер." : "пер. #{str}" } +
|
|
810
|
+
[
|
|
811
|
+
'пл. Ленина', 'пр-т Ленина', 'Советская пл.', 'Школьный проезд', 'Микрорайон', 'пр-т Мира',
|
|
812
|
+
'1 линия', '2 линия', 'пл. Революции', '3 линия', 'пл. Победы', 'мкр. Северный', 'Садовый проезд',
|
|
813
|
+
'Лесной проезд', 'Московское ш.', 'пл. Свободы пл', 'Северный проезд'
|
|
814
|
+
]
|
|
815
|
+
).freeze
|
|
387
816
|
end
|
|
388
817
|
end
|
data/lib/ryba/name.rb
CHANGED
data/spec/ryba_spec.rb
CHANGED
|
@@ -10,12 +10,14 @@ describe "Ryba" do
|
|
|
10
10
|
@name.first_name(true)
|
|
11
11
|
@name.middle_name(true)
|
|
12
12
|
@name.family_name(true)
|
|
13
|
+
@name.full_name(true)
|
|
13
14
|
end
|
|
14
15
|
|
|
15
16
|
it "should work for female" do
|
|
16
17
|
@name.first_name(false)
|
|
17
18
|
@name.middle_name(false)
|
|
18
19
|
@name.family_name(false)
|
|
20
|
+
@name.full_name(false)
|
|
19
21
|
end
|
|
20
22
|
|
|
21
23
|
it "should work with random gender" do
|
|
@@ -23,6 +25,7 @@ describe "Ryba" do
|
|
|
23
25
|
@name.first_name(gender)
|
|
24
26
|
@name.middle_name(gender)
|
|
25
27
|
@name.family_name(gender)
|
|
28
|
+
@name.full_name(gender)
|
|
26
29
|
end
|
|
27
30
|
end
|
|
28
31
|
end
|
|
@@ -38,4 +41,26 @@ describe "Ryba" do
|
|
|
38
41
|
end
|
|
39
42
|
end
|
|
40
43
|
end
|
|
44
|
+
|
|
45
|
+
describe "Address" do
|
|
46
|
+
before :all do
|
|
47
|
+
@adr = Ryba::Address
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
it "#index should be integer" do
|
|
51
|
+
20.times do
|
|
52
|
+
@adr.index.should be_kind_of(Integer)
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
[:city, :full_city, :street, :address, :postal].each do |meth|
|
|
57
|
+
it "##{meth} should return not empty string" do
|
|
58
|
+
20.times do
|
|
59
|
+
str = @adr.send(meth)
|
|
60
|
+
str.should be_kind_of(String)
|
|
61
|
+
str.should_not be_empty
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
end
|
|
41
66
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: be9-ryba
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- oleg dashevskii
|
|
@@ -9,7 +9,7 @@ autorequire:
|
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
11
|
|
|
12
|
-
date: 2009-02-
|
|
12
|
+
date: 2009-02-27 00:00:00 -08:00
|
|
13
13
|
default_executable:
|
|
14
14
|
dependencies: []
|
|
15
15
|
|
|
@@ -22,15 +22,16 @@ extensions: []
|
|
|
22
22
|
extra_rdoc_files: []
|
|
23
23
|
|
|
24
24
|
files:
|
|
25
|
-
- VERSION.yml
|
|
26
25
|
- README.textile
|
|
26
|
+
- VERSION.yml
|
|
27
27
|
- lib/ryba
|
|
28
|
+
- lib/ryba/address.rb
|
|
28
29
|
- lib/ryba/data.rb
|
|
29
30
|
- lib/ryba/name.rb
|
|
30
31
|
- lib/ryba/phone_number.rb
|
|
31
32
|
- lib/ryba.rb
|
|
32
|
-
- spec/spec_helper.rb
|
|
33
33
|
- spec/ryba_spec.rb
|
|
34
|
+
- spec/spec_helper.rb
|
|
34
35
|
has_rdoc: true
|
|
35
36
|
homepage: http://github.com/be9/ryba
|
|
36
37
|
post_install_message:
|