h1. Belka
TODO: Write a gem description
h2. Installation
Add this line to your application’s Gemfile:
<pre>gem 'belka'</pre>
And then execute:
<pre>$ bundle</pre>
Or install it yourself as:
<pre>$ gem install belka</pre>
h2. Введение
Часто встает задача заполнения баз данных «белкой», т.е. случайно сгенерированными данными, похожими на настоящие. Данный gem аналогичен русскому генератору “Ryba”:github.com/be9/ryba И больше того спизжен до последней строчки кода с небольшими изменениями касающихся Беларуси.
К таким данным относятся:
-
ФИО.
-
Почтовые адреса (индекс, город, улица, дом, квартира).
-
Телефоны.
-
E-mail адреса.
-
Названия.
-
«Просто текст» для больших текстовых полей.
Есть gemы, умеющие генерировать такие данные на английском: “faker”:faker.rubyforge.org, “random_data”:rubyforge.org/projects/random-data и другие.
Библиотека находится в активной разработке. На данный момент реализованы:
-
Генерация имен людей.
-
Генерация телефонов.
-
Генерация адресов.
-
Генерация имен компаний.
Ниже описан интерфейс для реализованных возможностей.
h2. Генерация имен людей
Методы из @Belka::Name@.
@Belka::Name.first_name(male = nil)@ — случайное имя.
@Belka::Name.middle_name(male = nil)@ — случайное отчество.
@Belka::Name.family_name(male = nil)@ — случайная фамилия.
@Belka::Name.full_name(male = nil)@ — случайное ФИО (например, “Щетинин Камилл Ростиславович”).
Параметр @male@ указывает пол (@true@ — мужской, @false@ — женский). Если параметр не указывать, будет выбран случайный пол.
Чтобы получить имена для одного пола, можно воспользоваться методом @Belka::Name.gender@, возвращающим случайный пол. Либо простым вызовом:
<pre><code>
gender = Belka::Name.gender first_name = Belka::Name.first_name(gender) family_name = Belka::Name.family_name(gender)
</pre></code>
…либо с помощью блока
<pre><code>
Belka::Name.gender do |gender| first_name = Belka::Name.first_name(gender) family_name = Belka::Name.family_name(gender) end
</pre></code>
h2. Генерация телефонов
Метод @Belka::PhoneNumber.phone_number@.
<pre><code>
>> Belka::PhoneNumber.phone_number => "8-(078)(5) 129-45-53" >> Belka::PhoneNumber.phone_number => "8-(078) 924-78-14"
</code></pre>
h2. Генерация адресов
Методы из @Belka::Address@.
@Belka::Address.index@ — случайный почтовый индекс (просто случайное число между 220000 и 224033). _Пример: 223170.
@Belka::Address.city@ - случайный город Беларуси. _Пример: “Несвиж”_.
@Belka::Address.full_city@ - случайный город с указанием региона, если это необходимо (город не является областным центром). _Примеры:_
-
“Гомельская обл., г. Житковичи”;
-
“г. Гродно”;
-
“г. Минск”.
@Belka::Address.street@ - случайное название улицы. _Примеры:_
-
“ул. Бородина”;
-
“Красный пер.”;
-
“1 линия”.
@Belka::Address.address@ - случайный адрес. _Примеры:_
-
“ул. Щербакова 130-279”;
-
“ул. Невская, д.167, оф. 32”;
-
“Пушкинский пер., д. 36, кв.234”;
-
“ул. Базарная, д. 182к2, 5-й эт.”.
@Belka::Address.postal@ - случайный полный почтовый адрес. _Примеры:_
-
“242733, Минская обл., г. Любань, ул. Куйбышева, 42-22”;
-
“220730, Гомельская обл., г. Житковичи, ул. Волжская, д. 175, кв. 7”;
-
“223251, Гродненская обл., г. Дятлово, ул. Ворошилова, д.153, кв.225”;
Обратите внимание, что индекс не является настоящим и что в городе может не быть такой улицы (а на улице — такого дома, а в доме — такой квартиры).
h2. Генерация имен компаний
@Belka::Company.name@ - случайное имя компании. _Примеры:_
-
ПродуктАэро
-
ТрастСеть
-
СалоКондитер
-
РезервФабрика
-
ДжинсКредит
Опция :solidity позволяет управлять длиной имени. Например, @Belka::Company.name(:solidity => 3)@ генерирует более солидное имя для компании:
-
ТехВоенКомбинатАкадем Групп
-
ТеплоМаркетТоргСинтез
-
ПрофСайтВалютСвязь
-
ТрейдингКоммерцКомТелеком
-
ГосСервисСпецСтанция
h2. Contributing
-
Fork it ( github.com/[my-github-username]/belka/fork )
-
Create your feature branch (‘git checkout -b my-new-feature`)
-
Commit your changes (‘git commit -am ’Add some feature’‘)
-
Push to the branch (‘git push origin my-new-feature`)
-
Create a new Pull Request
h2. Лицензия
Библиотека belka распространяется по лицензии MIT, см. файл MIT-LICENSE.