Coder Social home page Coder Social logo

byba's Introduction

Byba

Введение

Является копией гема 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) — случайная фамилия.

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”

byba's People

Contributors

be9 avatar dkremez avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.