validates_russian 0.0.7 → 0.0.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -0
- data/README.md +4 -2
- data/doc/english_readme.md +2 -0
- data/lib/validates_russian/okato_region_numbers.rb +1 -1
- data/lib/validates_russian/okv.rb +1 -1
- data/lib/validates_russian/region_numbers.rb +1 -1
- data/lib/validates_russian/version.rb +1 -1
- data/lib/validators/inn_format_validator.rb +3 -9
- data/lib/validators/ogrn_format_validator.rb +2 -6
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 46e3af0d1808ab847f2cd084325c33418232028b
|
4
|
+
data.tar.gz: 1f6e04ec2815f26f13c71d754b2f5f66f0cdd147
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f650d9ee7f675c3367d40e3ab7ec4d7719cd600575529f975f2e9b93333dd9fe095b1fec03d9d21c8df852646164870136209d5b9c8a10865954bc32c4701b09
|
7
|
+
data.tar.gz: 5dddeaa8ca84b76d4c79ad90be8715d880e61d1410cc0ed71ff9e6990f12296302fa9db960d3e1abc122c792c667d1d52730379b3631b7a0371790bc82476e1b
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -13,12 +13,14 @@
|
|
13
13
|
* [КПП](http://ru.wikipedia.org/wiki/Код_причины_постановки_на_учёт) (KppFormatValidator)
|
14
14
|
* [ОГРН](http://ru.wikipedia.org/wiki/Основной_государственный_регистрационный_номер) (OgrnFormatValidator)
|
15
15
|
* [Корреспондентский счёт] (http://ru.wikipedia.org/wiki/Корреспондентский_счёт) (KsFormatValidator)
|
16
|
-
* [
|
16
|
+
* [Расчётный счёт] (http://ru.wikipedia.org/wiki/Расчётный_счёт) (RsFormatValidator)
|
17
17
|
* [OKATO](http://ru.wikipedia.org/wiki/Общероссийский_классификатор_объектов_административно-территориального_деления) (OkatoFormatValidator)
|
18
18
|
* [СНИЛС](http://ru.wikipedia.org/wiki/Страховой_номер_индивидуального_лицевого_счёта) (SnilsFormatValidator)
|
19
19
|
* [Значение паспорта](http://ru.wikipedia.org/wiki/Паспорт_гражданина_Российской_Федерации) (PassportFormatValidator)
|
20
20
|
* [БИК](http://ru.wikipedia.org/wiki/БИК) (BikFormatValidator)
|
21
21
|
|
22
|
+
Для генерации фейковых значений используйте [gem 'faker-russian'](https://github.com/asiniy/faker-russian)
|
23
|
+
|
22
24
|
## Установка
|
23
25
|
|
24
26
|
Добавь в Gemfile
|
@@ -27,7 +29,7 @@
|
|
27
29
|
|
28
30
|
## Использование
|
29
31
|
|
30
|
-
|
32
|
+
Используйте валидаторы в своей модели
|
31
33
|
|
32
34
|
```ruby
|
33
35
|
validates :attribute, <validator_underscore>: true
|
data/doc/english_readme.md
CHANGED
@@ -18,6 +18,8 @@ Russian specific values validation:
|
|
18
18
|
* [Passport Value](http://ru.wikipedia.org/wiki/Паспорт_гражданина_Российской_Федерации) (PassportFormatValidator)
|
19
19
|
* [BIK](http://ru.wikipedia.org/wiki/БИК) (BikFormatValidator) Bank Identification Number
|
20
20
|
|
21
|
+
For generating fake values use [gem 'faker-russian'](https://github.com/asiniy/faker-russian)
|
22
|
+
|
21
23
|
## Installation
|
22
24
|
|
23
25
|
Add to Gemfile
|
@@ -1,3 +1,3 @@
|
|
1
1
|
module ValidatesRussian
|
2
|
-
OKATO_REGION_NUMBERS = %w{01 03 04 05 07 08 11 12 14 15 17 19 20 22 24 25 26 27 28 29 32 33 34 36 37 38 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99}
|
2
|
+
OKATO_REGION_NUMBERS = %w{01 03 04 05 07 08 11 12 14 15 17 19 20 22 24 25 26 27 28 29 32 33 35 34 36 37 38 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99}
|
3
3
|
end
|
@@ -1,3 +1,3 @@
|
|
1
1
|
module ValidatesRussian
|
2
|
-
OKV = %w{
|
2
|
+
OKV = %w{008 012 032 036 044 048 050 051 052 060 064 068 072 084 090 096 104 108 116 124 132 136 144 152 156 170 174 188 191 192 203 208 214 222 230 232 238 242 262 270 292 320 324 328 332 340 344 348 352 356 360 364 368 376 388 392 398 400 404 408 410 414 417 418 422 426 428 430 434 440 446 454 458 462 478 480 484 496 498 504 512 516 524 532 533 548 554 558 566 578 586 590 598 600 604 608 634 643 646 654 678 682 690 694 702 704 706 710 728 748 752 756 760 764 776 780 784 788 800 807 810 818 826 834 840 858 860 882 886 901 931 932 934 936 937 938 940 941 943 944 946 949 950 951 952 953 960 967 968 969 970 971 972 973 974 975 976 977 978 980 981 985 986}
|
3
3
|
end
|
@@ -1,3 +1,3 @@
|
|
1
1
|
module ValidatesRussian
|
2
|
-
REGION_NUMBERS = %w{01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 75 41 23 24 59 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 76 77 78 79 83 86 87 89}
|
2
|
+
REGION_NUMBERS = %w{01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 75 41 23 24 59 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 76 77 78 79 83 86 87 89 91 92}
|
3
3
|
end
|
@@ -6,15 +6,9 @@ class InnFormatValidator < ValidatesRussian::Validator
|
|
6
6
|
inn = inn.split(//).map(&:to_i)
|
7
7
|
|
8
8
|
case inn.size
|
9
|
-
when 10
|
10
|
-
|
11
|
-
|
12
|
-
when 12
|
13
|
-
n11 = calc(P11, inn)
|
14
|
-
n12 = calc(P12, inn)
|
15
|
-
next false unless n11 == inn[10] && n12 == inn[11]
|
16
|
-
else
|
17
|
-
next false
|
9
|
+
when 10 then next false unless calc(P10, inn) == inn[9]
|
10
|
+
when 12 then next false unless calc(P11, inn) == inn[10] && calc(P12, inn) == inn[11]
|
11
|
+
else next false
|
18
12
|
end
|
19
13
|
end
|
20
14
|
|
@@ -1,11 +1,7 @@
|
|
1
1
|
class OgrnFormatValidator < ValidatesRussian::Validator
|
2
2
|
validates_using do |ogrn|
|
3
3
|
next false unless ogrn =~ /^\d+$/
|
4
|
-
|
5
|
-
|
6
|
-
when 13 then next false unless (ogrn[0..-2].to_i % 11 % 10) == ogrn[-1].to_i
|
7
|
-
when 15 then next false unless (ogrn[0..-2].to_i % 13 % 10) == ogrn[-1].to_i
|
8
|
-
else next false
|
9
|
-
end
|
4
|
+
next false unless [13, 15].include?(ogrn.size)
|
5
|
+
next false unless (ogrn[0..-2].to_i % (ogrn.size - 2) % 10) == ogrn[-1].to_i
|
10
6
|
end
|
11
7
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: validates_russian
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alex Antonov
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-03-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activemodel
|
@@ -133,7 +133,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
133
133
|
version: '0'
|
134
134
|
requirements: []
|
135
135
|
rubyforge_project:
|
136
|
-
rubygems_version: 2.
|
136
|
+
rubygems_version: 2.4.6
|
137
137
|
signing_key:
|
138
138
|
specification_version: 4
|
139
139
|
summary: validates specific russian values
|