0.03
No release in over 3 years
Low commit activity in last 3 years
Faker russian specific values. INN, OKPO, OGRN et.c.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 1.6
~> 1.3
~> 10
~> 3
 Project Readme

Faker::Russian

[english_doc] [Инструкции разработчикам] Gem Version Build Status Code Climate

Генерация русских значений: ИНН, ОКПО, КПП и т.д.

Для проверки сгенерированных значений можешь использовать 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