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"