Awesome
Faker::Russian
[english_doc] [Инструкции разработчикам]
Генерация русских значений: ИНН, ОКПО, КПП и т.д.
- БИК (Faker::Russian.bik)
- ИНН (Faker::Russian.inn)
- ОКПО (Faker::Russian.okpo)
- КПП (Faker::Russian.kpp)
- ОГРН (Faker::Russian.ogrn)
- Корреспондентский счёт (Faker::Russian.correspondent_account)
- Расчётный счёт (Faker::Russian.rs)
- OKATO (Faker::Russian.okato)
- СНИЛС (Faker::Russian.snils)
- (TODO) Значение паспорта (Faker::Russian.passport)
- Кадастровый номер (Faker::Russian.cadastral_number)
Для проверки сгенерированных значений можешь использовать gem 'validates_russian'
Установка
Добавь в Gemfile
gem 'faker-russian'
Использование
БИК
По умолчанию генерирует БИК со случайным номером региона по ОКАТО
Faker::Russian.bik # => '0454954616'
Можно указывать номер региона по ОКАТО
Faker::Russian.bik(okato_region_number: '40') # => '0440754281'
Также существуют последовательности, позволяющие получать псевдослучайные БИКи
Faker::Russian.bik(sequence_number: 1) # => '0451491755'
Faker::Russian.bik(sequence_number: 1) # => '0451491755'
ИНН
Стандартно генерирует ИНН со случайным номером региона и со случайным типом (физ или юрлицо)
Faker::Russian.inn # => '183501166447'
Можно указывать номер региона или тип
Faker::Russian.inn(region_number: '78') # => '7857296996'
Faker::Russian.inn(kind: :individual) # => '0229191612'
Faker::Russian.inn(kind: :legal) # => '366582211439'
Также существуют последовательности, позволяющие получать одни и те же значения
Faker::Russian.inn(sequence_number: 1) # => '0956860593'
Faker::Russian.inn(sequence_number: 1) # => '0956860593'
ОКПО
Faker::Russian.okpo # => '57972160'
Также доступны последовательности:
Faker::Russian.okpo(sequence_number: 1) # => '13410254'
Faker::Russian.okpo(sequence_number: 1) # => '13410254'
КПП
Генерирует КПП со случайным номером региона
Faker::Russian.kpp # => '525601001'
Можно указать регион
Faker::Russian.kpp(region_number: 78) # => '784101001'
Также можно использовать последовательности (не более 1000 - количество КПП ограничено):
Faker::Russian.kpp(sequence_number: 1) # => '381201001'
Faker::Russian.kpp(sequence_number: 1) # => '381201001'
ОГРН
Генерирует ОГРН со случайным номером региона и со случайным типом (юрлицо или ИП)
Faker::Russian.ogrn # => '183501166447'
Можно указывать номер региона или тип
Faker::Russian.ogrn(region_number: '78') # => '5167833676555'
Faker::Russian.ogrn(kind: :individual) # => '404073315712593'
Faker::Russian.ogrn(kind: :legal) # => '1023171435869'
Также можно использовать последовательности, позволяющие получать одни и те же значения
Faker::Russian.ogrn(sequence_number: 1) # => '411138840778966'
Faker::Russian.ogrn(sequence_number: 1) # => '411138840778966'
Корреспондентский счёт
Генерируется корреспондентский счет
Faker::Russian.correspondent_account
Также можно использовать последовательности (не более 1 000 000 000):
Faker::Russian.correspondent_account(sequence_number: 1) # => '30100000000717354021'
Faker::Russian.correspondent_account(sequence_number: 1) # => '30100000000717354021'
Можно указать БИК для которого генерируется счет:
Faker::Russian.correspondent_account(bik: '0440754281') # => '30100000341569331281'
Расчетный счет
Генерирует Расчетный счет со случайным номером ОКВ
Faker::Russian.rs # => '88638068000072709375'
Можно указать ОКВ
Faker::Russian.rs(okv: 810) # => '86815810000597174799'
Также можно использовать последовательности (не более 1 000 000 000):
Faker::Russian.rs(sequence_number: 1) # => '98539706000946286476'
Faker::Russian.rs(sequence_number: 1) # => '98539706000946286476'
ОКАТО
Генерирует ОКАТО со случайным номером региона и случайной длиной
Faker::Russian.okato # => '849012471'
Можно указать регион по классификации окато
Faker::Russian.okato(okato_region_number: 25) # => '251'
Можно указать длину ОКАТО:
Faker::Russian.okato(length: 3) # => '251'
Faker::Russian.okato(length: 6) # => '443758'
Faker::Russian.okato(length: 9) # => '849012471'
Также можно использовать последовательности:
Faker::Russian.okato(sequence_number: 1) # => '517'
Faker::Russian.okato(sequence_number: 1) # => '517'
СНИЛС
Генерирует 11-ти значный СНИЛС
Faker::Russian.snils # => '15200583517'
Также можно использовать последовательности:
Faker::Russian.snils(sequence_number: 1) # => '71735402183'
Faker::Russian.snils(sequence_number: 1) # => '71735402183'
Кадастровый номер
Генерируем случайный кадастровый номер
Faker::Russian.cadastral_number # => 41:16:8960136:44567
Можно указать кадастровый округ. Список кадастровых округов можно посмотреть тут.
Округ с номером "0" - "Общероссийский" кадастровый округ.
Faker::Russian.cadastral_number(district: 61) # => 61:16:8960136:44567
Faker::Russian.cadastral_number(district: 1) # => 01:16:8960136:44567
Можно указать кадастровый район.
Район с номером '0' - "Условный" кадастровый район.
Faker::Russian.cadastral_number(area: 2) # => 41:02:8960136:44567
Faker::Russian.cadastral_number(area: 61) # => 41:61:8960136:44567
Можно указать кадастровый квартал.
Faker::Russian.cadastral_number(quarter: 120300) # => 41:16:120300:44567
Faker::Russian.cadastral_number(quarter: 1203001) # => 41:16:1203001:44567
Faker::Russian.cadastral_number(quarter: '0205006') # => 41:16:0205006:44567
В кадастровом округе "Общероссийский" создается один кадастровый район с учетным номером "0:0" и наименованием "Условный", в котором, соответственно, один кадастровый квартал с учетным номером "0:0:0", границы указанных кадастрового района и кадастрового квартала совпадают с границами кадастрового округа "Общероссийский".
Создать такой адрес можно вот так:
Faker::Russian.cadastral_number(district: 0, area: 0, quarter: 0) # 0:0:0:1768
Также можно использовать последовательности:
Faker::Russian.cadastral_number(sequence_number: 1) # => 38:13:591263:50058
Faker::Russian.cadastral_number(sequence_number: 1) # => 38:13:591263:50058
Faker::Russian.cadastral_number(sequence_number: 1, district: 1) # => 01:38:7762380:5193
Faker::Russian.cadastral_number(sequence_number: 1, district: 1) # => 01:38:7762380:5193
Инструкции разработчикам
Читай CONTRIBUTING.md