Ryba

Введение

Часто встает задача заполнения баз данных «рыбой», т.е. случайно сгенерированными данными, похожими на настоящие.

К таким данным относятся:

  • ФИО.
  • Почтовые адреса (индекс, город, улица, дом, квартира).
  • Телефоны.
  • E-mail адреса.
  • Названия.
  • «Просто текст» для больших текстовых полей.

Есть gemы, умеющие генерировать такие данные на английском: faker, random_data и другие.

Ryba — попытка создать аналогичный генератор для русского языка: русские имена, адреса и т.д.

Библиотека находится в активной разработке. На данный момент реализованы:

  • Генерация имен.
  • Генерация телефонов.

Ниже описан интерфейс для реализованных возможностей.

Генерация имен

Методы из Ryba::Name.

Ryba::Name.first_name(male = nil) — случайное имя.

Ryba::Name.middle_name(male = nil) — случайное отчество.

Ryba::Name.family_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

Генерация телефонов

Метод 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"

Лицензия

Библиотека ryba распространяется по лицензии MIT, см. файл MIT-LICENSE.

Автор: Олег Дашевский, “#Dashevskii).join(’’)[email protected]