h1. Ryba h2. Введение Часто встает задача заполнения баз данных «рыбой», т.е. случайно сгенерированными данными, похожими на настоящие. К таким данным относятся: * ФИО. * Почтовые адреса (индекс, город, улица, дом, квартира). * Телефоны. * E-mail адреса. * Названия. * «Просто текст» для больших текстовых полей. Есть gemы, умеющие генерировать такие данные на английском: "faker":http://faker.rubyforge.org, "random_data":http://rubyforge.org/projects/random-data и другие. Ryba — попытка создать аналогичный генератор для русского языка: русские имена, адреса и т.д. Библиотека находится в активной разработке. На данный момент реализованы: * Генерация имен. * Генерация телефонов. * Генерация адресов. Ниже описан интерфейс для реализованных возможностей. h2. Генерация имен Методы из @Ryba::Name@. @Ryba::Name.first_name(male = nil)@ — случайное имя. @Ryba::Name.middle_name(male = nil)@ — случайное отчество. @Ryba::Name.family_name(male = nil)@ — случайная фамилия. @Ryba::Name.full_name(male = nil)@ — случайное ФИО (например, "Щетинин Камилл Ростиславович"). Параметр @male@ указывает пол (@true@ — мужской, @false@ — женский). Если параметр не указывать, будет выбран случайный пол. Чтобы получить имена для одного пола, можно воспользоваться методом @Ryba::Name.gender@, возвращающим случайный пол. Либо простым вызовом:
gender = Ryba::Name.gender
first_name = Ryba::Name.first_name(gender)
family_name = Ryba::Name.family_name(gender)
...либо с помощью блока
Ryba::Name.gender do |gender|
first_name = Ryba::Name.first_name(gender)
family_name = Ryba::Name.family_name(gender)
end
h2. Генерация телефонов
Метод @Ryba::PhoneNumber.phone_number@.
>> Ryba::PhoneNumber.phone_number
=> "2-26-47"
>> Ryba::PhoneNumber.phone_number
=> "431-15-94"
>> Ryba::PhoneNumber.phone_number
=> "8 (87829) 9-45-53"
>> Ryba::PhoneNumber.phone_number
=> "5515328"
>> Ryba::PhoneNumber.phone_number
=> "(2397) 94 78 14"
h2. Генерация адресов
Методы из @Ryba::Address@.
@Ryba::Address.index@ — случайный почтовый индекс (просто случайное число между 100000 и 700000). _Пример: 149544_.
@Ryba::Address.city@ - случайный город России. _Пример: "Выкса"_.
@Ryba::Address.full_city@ - случайный город с указанием региона, если это необходимо (город не является областным центром). _Примеры:_
* "Брянская обл., г. Унеча";
* "г. Ярославль";
* "г. Москва".
@Ryba::Address.street@ - случайное название улицы. _Примеры:_
* "ул. Бородина";
* "Красный пер.";
* "1 линия".
@Ryba::Address.address@ - случайный адрес. _Примеры:_
* "ул. Щербакова 130-279";
* "ул. Невская, д.167, оф. 32";
* "Пушкинский пер., д. 36, кв.234";
* "ул. Базарная, д. 182к2, 5-й эт.".
@Ryba::Address.postal@ - случайный полный почтовый адрес. _Примеры:_
* "242733, Рязанская обл., г. Спас-Клепики, ул. Куйбышева, 42-22";
* "471408, Челябинская обл., г. Златоуст, ул. Квартальная, 174-282";
* "195730, Воронежская обл., г. Калач, ул. Волжская, д. 175, кв. 7";
* "342656, Краснодарский край, г. Лабинск, ул. Ворошилова, д.153, кв.225";
* "209218, Сахалинская обл., г. Корсаков, ул. Мусоргского д. 65 кв. 206";
* "485245, г. Курган, ул. Литвинова д.173 кв. 245".
Обратите внимание, что индекс не является настоящим и что в городе может не быть
такой улицы (а на улице — такого дома, а в доме — такой квартиры).
h2. Лицензия
Библиотека ryba распространяется по лицензии MIT, см. файл MIT-LICENSE.
Автор: Олег Дашевский, "#{%w(Oleg Dashevskii).join('').downcase}@gmail.com"