Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
/rybaPublic

Генератор "рыб": адресов, телефонов и т.д.

License

NotificationsYou must be signed in to change notification settings

be9/ryba

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Введение

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

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

  • ФИО.
  • Почтовые адреса (индекс, город, улица, дом, квартира).
  • Телефоны.
  • 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) — случайная фамилия.

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

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

Метод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::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”.

Обратите внимание, что индекс не является настоящим и что в городе может не быть
такой улицы (а на улице — такого дома, а в доме — такой квартиры).

Генерация имен компаний

Ryba::Company.name – случайное имя компании.Примеры:

  • ПродуктАэро
  • ТрастСеть
  • СалоКондитер
  • РезервФабрика
  • ДжинсКредит

Опция :solidity позволяет управлять длиной имени. Например,Ryba::Company.name(:solidity => 3)
генерирует более солидное имя для компании:

  • ТехВоенКомбинатАкадем Групп
  • ТеплоМаркетТоргСинтез
  • ПрофСайтВалютСвязь
  • ТрейдингКоммерцКомТелеком
  • ГосСервисСпецСтанция

Лицензия

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

Автор: Олег Дашевский, “#{%w(Oleg Dashevskii).join(’’).downcase}@gmail.com”

About

Генератор "рыб": адресов, телефонов и т.д.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages


[8]ページ先頭

©2009-2025 Movatter.jp