validates_russian 0.0.6 → 0.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -0
- data/CONTRIBUTING.md +39 -0
- data/README.md +2 -1
- data/doc/english_readme.md +2 -1
- data/lib/validates_russian/okato_region_numbers.rb +2 -2
- data/lib/validates_russian/version.rb +1 -1
- data/lib/validators/bik_format_validator.rb +7 -0
- data/lib/validators/inn_format_validator.rb +5 -5
- data/lib/validators/ogrn_format_validator.rb +5 -8
- data/lib/validators/okpo_format_validator.rb +1 -1
- data/spec/spec_helper.rb +5 -1
- data/spec/support/test_model.rb +6 -0
- data/spec/validators/bik_format_spec.rb +43 -0
- data/spec/validators/inn_format_validator_spec.rb +3 -7
- data/spec/validators/kpp_format_validator_spec.rb +3 -7
- data/spec/validators/ks_format_validator_spec.rb +4 -8
- data/spec/validators/ogrn_format_validator_spec.rb +3 -7
- data/spec/validators/okato_format_validator_spec.rb +4 -8
- data/spec/validators/okpo_format_validator_spec.rb +7 -7
- data/spec/validators/passport_format_validator_spec.rb +4 -8
- data/spec/validators/rs_format_validator_spec.rb +4 -8
- data/spec/validators/snils_format_validator_spec.rb +4 -8
- data/validates_russian.gemspec +1 -1
- metadata +21 -17
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6e97b119010d0a6820f7f31e6839104f2e2b005a
|
4
|
+
data.tar.gz: 37676d8a1f51e2d6dfc94723c36275e31e8879dd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5b5da3c0ef4b177e0b48ac8818d9e9e59ab525f15448af1dda13ebb5df45f5ed1f91044a25eba0d25ad1ce2f71a9d74074b06d067e7c2162084419ca0cab511e
|
7
|
+
data.tar.gz: ae8fe525c3c6f952a03a70f843c6a9f852330b58bdd644364263f1c479fd985b4d6f9bed0e24aad1c77828c4f829701fe65888b34b2e9bad7bb7d8a215202b55
|
data/CHANGELOG.md
CHANGED
data/CONTRIBUTING.md
ADDED
@@ -0,0 +1,39 @@
|
|
1
|
+
#Инструкции разработчикам
|
2
|
+
|
3
|
+
Валидатор копируется с класса `ValidatesRussian::Validator`, а дальше используется блок `validates_using`. В том случае, если значение не должно подходить по условиям, то используется `next false condition`:
|
4
|
+
|
5
|
+
```ruby
|
6
|
+
class BiggerThanTwoValidator < ValidatesRussian::Validator # Больше двух
|
7
|
+
validates_using do |number|
|
8
|
+
next false unless number.to_i > 2
|
9
|
+
end
|
10
|
+
end
|
11
|
+
```
|
12
|
+
|
13
|
+
Существует список номеров регионов, доступный под `ValidatesRussian::REGION_NUMBERS`. Его **нужно** использовать для подтверждения номеров регионов, например ИНН:
|
14
|
+
|
15
|
+
```ruby
|
16
|
+
print ValidatesRussian::REGION_NUMBERS # => ["01", "03", "04", "05", "07", "08", "10", "11", "11", "12", "14", "15", "17", "18", "19", "20", "22", "24", "25", "26", "27", "28", "29", "30", "32", "33", "34", "36", "37", "38", "40", "41", "42", "44", "45", "46", "47", "49", "50", "52", "53", "56", "57", "57", "58", "60", "61", "63", "64", "65", "66", "68", "69", "70", "71", "71", "71", "73", "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"]
|
17
|
+
|
18
|
+
class InnValidator < ValidatesRussian::Validator
|
19
|
+
validates_using do |inn|
|
20
|
+
...
|
21
|
+
next false unless ValidatesRussian::REGION_NUMBERS.include?(inn[0..1]) # станет невалидным, если нет кода региона РФ
|
22
|
+
...
|
23
|
+
end
|
24
|
+
end
|
25
|
+
```
|
26
|
+
|
27
|
+
Если хочешь удостовериться, что в строке только цифры, используй
|
28
|
+
|
29
|
+
``` ruby
|
30
|
+
next false unless kpp =~ /^\d+$/
|
31
|
+
```
|
32
|
+
|
33
|
+
### Если есть желание помочь,
|
34
|
+
то пиши любой код. Сообщество поможет.
|
35
|
+
|
36
|
+
### Несколько полезных ссылок:
|
37
|
+
|
38
|
+
1. http://dplabs.ru/blog/2009/jun/21/innkpp-code-decode/
|
39
|
+
2. https://github.com/melervand/tax-info-validation
|
data/README.md
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# validates_russian
|
2
2
|
|
3
3
|
[[english_doc](doc/english_readme.md)]
|
4
|
-
[[инструкции разработчикам](
|
4
|
+
[[инструкции разработчикам](CONTRIBUTING.md)]
|
5
5
|
[](http://badge.fury.io/rb/validates_russian)
|
6
6
|
[](https://travis-ci.org/asiniy/validates_russian)
|
7
7
|
[](https://codeclimate.com/github/asiniy/validates_russian)
|
@@ -17,6 +17,7 @@
|
|
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
|
+
* [БИК](http://ru.wikipedia.org/wiki/БИК) (BikFormatValidator)
|
20
21
|
|
21
22
|
## Установка
|
22
23
|
|
data/doc/english_readme.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# validates_russian
|
2
2
|
|
3
|
-
[[по-русски](README.md)]
|
3
|
+
[[по-русски](../README.md)]
|
4
4
|
[](http://badge.fury.io/rb/validates_russian)
|
5
5
|
[](https://travis-ci.org/asiniy/validates_russian)
|
6
6
|
[](https://codeclimate.com/github/asiniy/validates_russian)
|
@@ -16,6 +16,7 @@ Russian specific values validation:
|
|
16
16
|
* [OKATO](http://ru.wikipedia.org/wiki/Общероссийский_классификатор_объектов_административно-территориального_деления) (OkatoFormatValidator)
|
17
17
|
* [SNILS](http://ru.wikipedia.org/wiki/Страховой_номер_индивидуального_лицевого_счёта) (SnilsFormatValidator)
|
18
18
|
* [Passport Value](http://ru.wikipedia.org/wiki/Паспорт_гражданина_Российской_Федерации) (PassportFormatValidator)
|
19
|
+
* [BIK](http://ru.wikipedia.org/wiki/БИК) (BikFormatValidator) Bank Identification Number
|
19
20
|
|
20
21
|
## Installation
|
21
22
|
|
@@ -1,3 +1,3 @@
|
|
1
1
|
module ValidatesRussian
|
2
|
-
OKATO_REGION_NUMBERS = %w{
|
3
|
-
end
|
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}
|
3
|
+
end
|
@@ -2,19 +2,19 @@ class InnFormatValidator < ValidatesRussian::Validator
|
|
2
2
|
validates_using do |inn|
|
3
3
|
next false unless ValidatesRussian::REGION_NUMBERS.include?(inn[0..1])
|
4
4
|
next false unless inn =~ /^\d+$/
|
5
|
-
next false if inn.size != 10 && inn.size != 12
|
6
5
|
|
7
6
|
inn = inn.split(//).map(&:to_i)
|
8
7
|
|
9
|
-
|
8
|
+
case inn.size
|
9
|
+
when 10
|
10
10
|
n10 = calc(P10, inn)
|
11
11
|
next false unless n10 == inn[9]
|
12
|
-
|
13
|
-
|
14
|
-
if inn.size == 12
|
12
|
+
when 12
|
15
13
|
n11 = calc(P11, inn)
|
16
14
|
n12 = calc(P12, inn)
|
17
15
|
next false unless n11 == inn[10] && n12 == inn[11]
|
16
|
+
else
|
17
|
+
next false
|
18
18
|
end
|
19
19
|
end
|
20
20
|
|
@@ -1,14 +1,11 @@
|
|
1
1
|
class OgrnFormatValidator < ValidatesRussian::Validator
|
2
2
|
validates_using do |ogrn|
|
3
3
|
next false unless ogrn =~ /^\d+$/
|
4
|
-
next false if ogrn.size != 13 && ogrn.size != 15
|
5
4
|
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
if ogrn.size == 15
|
11
|
-
next false unless (ogrn[0..-2].to_i % 13 % 10) == ogrn[-1].to_i
|
5
|
+
case ogrn.size
|
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
|
12
9
|
end
|
13
10
|
end
|
14
|
-
end
|
11
|
+
end
|
@@ -11,6 +11,6 @@ class OkpoFormatValidator < ValidatesRussian::Validator
|
|
11
11
|
private
|
12
12
|
|
13
13
|
def self.calc(okpo)
|
14
|
-
okpo[0..-2].each_with_index.inject(0){ |s, p| s + p[0] * (p[1] + 1) } % 11
|
14
|
+
okpo[0..-2].each_with_index.inject(0){ |s, p| s + p[0] * (p[1] + 1) } % 11 % 10
|
15
15
|
end
|
16
16
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -4,6 +4,10 @@ Dir[File.dirname(__FILE__) + '/support/*.rb'].each { |f| require f }
|
|
4
4
|
|
5
5
|
RSpec.configure do |config|
|
6
6
|
config.order = 'random'
|
7
|
-
config.
|
7
|
+
config.color = true
|
8
8
|
config.formatter = 'documentation'
|
9
|
+
|
10
|
+
config.expect_with :rspec do |c|
|
11
|
+
c.syntax = :expect
|
12
|
+
end
|
9
13
|
end
|
data/spec/support/test_model.rb
CHANGED
@@ -0,0 +1,43 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe BikFormatValidator do
|
4
|
+
before(:all) do
|
5
|
+
TestModel.reset_callbacks(:validate)
|
6
|
+
TestModel.validates(:field, bik_format: true)
|
7
|
+
end
|
8
|
+
|
9
|
+
it 'should be valid for valid values' do
|
10
|
+
valid_biks = %w{
|
11
|
+
044525957
|
12
|
+
044525225
|
13
|
+
044030811
|
14
|
+
042520849
|
15
|
+
044525593
|
16
|
+
044652323
|
17
|
+
044525202
|
18
|
+
049205770
|
19
|
+
}
|
20
|
+
|
21
|
+
valid_biks.each do |bik|
|
22
|
+
expect(TestModel.new(field: bik)).to be_valid
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
it 'should not be valid for invalid values' do
|
27
|
+
invalid_biks = %w(
|
28
|
+
040205770
|
29
|
+
549205770
|
30
|
+
#ffff
|
31
|
+
orange-duck
|
32
|
+
eee
|
33
|
+
xxx
|
34
|
+
epics
|
35
|
+
1234567890
|
36
|
+
123456789101
|
37
|
+
).push('', ' ', nil)
|
38
|
+
|
39
|
+
invalid_biks.each do |bik|
|
40
|
+
expect(TestModel.new(field: bik)).to_not be_valid
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe InnFormatValidator do
|
4
|
-
before(:
|
4
|
+
before(:all) do
|
5
5
|
TestModel.reset_callbacks(:validate)
|
6
6
|
TestModel.validates(:field, inn_format: true)
|
7
7
|
end
|
@@ -22,9 +22,7 @@ describe InnFormatValidator do
|
|
22
22
|
}
|
23
23
|
|
24
24
|
valid_inns.each do |inn|
|
25
|
-
|
26
|
-
model.field = inn
|
27
|
-
model.should be_valid
|
25
|
+
expect(TestModel.new(field: inn)).to be_valid
|
28
26
|
end
|
29
27
|
end
|
30
28
|
|
@@ -40,9 +38,7 @@ describe InnFormatValidator do
|
|
40
38
|
).push('', ' ', nil)
|
41
39
|
|
42
40
|
invalid_inns.each do |inn|
|
43
|
-
|
44
|
-
model.field = inn
|
45
|
-
model.should_not be_valid
|
41
|
+
expect(TestModel.new(field: inn)).to_not be_valid
|
46
42
|
end
|
47
43
|
end
|
48
44
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe KppFormatValidator do
|
4
|
-
before(:
|
4
|
+
before(:all) do
|
5
5
|
TestModel.reset_callbacks(:validate)
|
6
6
|
TestModel.validates(:field, kpp_format: true)
|
7
7
|
end
|
@@ -14,9 +14,7 @@ describe KppFormatValidator do
|
|
14
14
|
}
|
15
15
|
|
16
16
|
valid_kpps.each do |kpp|
|
17
|
-
|
18
|
-
model.field = kpp
|
19
|
-
model.should be_valid
|
17
|
+
expect(TestModel.new(field: kpp)).to be_valid
|
20
18
|
end
|
21
19
|
end
|
22
20
|
|
@@ -30,9 +28,7 @@ describe KppFormatValidator do
|
|
30
28
|
}.push('', ' ', nil, [], {})
|
31
29
|
|
32
30
|
valid_kpps.each do |kpp|
|
33
|
-
|
34
|
-
model.field = kpp
|
35
|
-
model.should_not be_valid
|
31
|
+
expect(TestModel.new(field: kpp)).to_not be_valid
|
36
32
|
end
|
37
33
|
end
|
38
34
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe KsFormatValidator do
|
4
|
-
before(:
|
4
|
+
before(:all) do
|
5
5
|
TestModel.reset_callbacks(:validate)
|
6
6
|
TestModel.validates(:field, ks_format: true)
|
7
7
|
end
|
@@ -14,9 +14,7 @@ describe KsFormatValidator do
|
|
14
14
|
}
|
15
15
|
|
16
16
|
valid_kss.each do |ks|
|
17
|
-
|
18
|
-
model.field = ks
|
19
|
-
model.should be_valid
|
17
|
+
expect(TestModel.new(field: ks)).to be_valid
|
20
18
|
end
|
21
19
|
end
|
22
20
|
|
@@ -29,9 +27,7 @@ describe KsFormatValidator do
|
|
29
27
|
}.push('', ' ', nil, [], {})
|
30
28
|
|
31
29
|
invalid_kss.each do |ks|
|
32
|
-
|
33
|
-
model.field = ks
|
34
|
-
model.should_not be_valid
|
30
|
+
expect(TestModel.new(field: ks)).to_not be_valid
|
35
31
|
end
|
36
32
|
end
|
37
|
-
end
|
33
|
+
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe OgrnFormatValidator do
|
4
|
-
before(:
|
4
|
+
before(:all) do
|
5
5
|
TestModel.reset_callbacks(:validate)
|
6
6
|
TestModel.validates(:field, ogrn_format: true)
|
7
7
|
end
|
@@ -15,9 +15,7 @@ describe OgrnFormatValidator do
|
|
15
15
|
}
|
16
16
|
|
17
17
|
valid_ogrns.each do |ogrn|
|
18
|
-
|
19
|
-
model.field = ogrn
|
20
|
-
model.should be_valid
|
18
|
+
expect(TestModel.new(field: ogrn)).to be_valid
|
21
19
|
end
|
22
20
|
end
|
23
21
|
|
@@ -30,9 +28,7 @@ describe OgrnFormatValidator do
|
|
30
28
|
}.push('', ' ', nil, [], {})
|
31
29
|
|
32
30
|
invalid_ogrns.each do |ogrn|
|
33
|
-
|
34
|
-
model.field = ogrn
|
35
|
-
model.should_not be_valid
|
31
|
+
expect(TestModel.new(field: ogrn)).to be_invalid
|
36
32
|
end
|
37
33
|
end
|
38
34
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe OkatoFormatValidator do
|
4
|
-
before(:
|
4
|
+
before(:all) do
|
5
5
|
TestModel.reset_callbacks(:validate)
|
6
6
|
TestModel.validates(:field, okato_format: true)
|
7
7
|
end
|
@@ -15,9 +15,7 @@ describe OkatoFormatValidator do
|
|
15
15
|
}
|
16
16
|
|
17
17
|
valid_okatos.each do |okato|
|
18
|
-
|
19
|
-
model.field = okato
|
20
|
-
model.should be_valid
|
18
|
+
expect(TestModel.new(field: okato)).to be_valid
|
21
19
|
end
|
22
20
|
end
|
23
21
|
|
@@ -30,9 +28,7 @@ describe OkatoFormatValidator do
|
|
30
28
|
}.push('', ' ', nil, [], {})
|
31
29
|
|
32
30
|
invalid_okatos.each do |okato|
|
33
|
-
|
34
|
-
model.field = okato
|
35
|
-
model.should_not be_valid
|
31
|
+
expect(TestModel.new(field: okato)).to_not be_valid
|
36
32
|
end
|
37
33
|
end
|
38
|
-
end
|
34
|
+
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe OkpoFormatValidator do
|
4
|
-
before(:
|
4
|
+
before(:all) do
|
5
5
|
TestModel.reset_callbacks(:validate)
|
6
6
|
TestModel.validates(:field, okpo_format: true)
|
7
7
|
end
|
@@ -10,13 +10,15 @@ describe OkpoFormatValidator do
|
|
10
10
|
valid_okpos = %w{
|
11
11
|
57972160
|
12
12
|
13410254
|
13
|
+
74917270
|
14
|
+
99874891
|
15
|
+
75249303
|
16
|
+
99874891
|
13
17
|
0060621966
|
14
18
|
}
|
15
19
|
|
16
20
|
valid_okpos.each do |okpo|
|
17
|
-
|
18
|
-
model.field = okpo
|
19
|
-
model.should be_valid
|
21
|
+
expect(TestModel.new(field: okpo)).to be_valid
|
20
22
|
end
|
21
23
|
end
|
22
24
|
|
@@ -29,9 +31,7 @@ describe OkpoFormatValidator do
|
|
29
31
|
}.push('', ' ', nil, [], {})
|
30
32
|
|
31
33
|
valid_okpos.each do |okpo|
|
32
|
-
|
33
|
-
model.field = okpo
|
34
|
-
model.should_not be_valid
|
34
|
+
expect(TestModel.new(field: okpo)).to_not be_valid
|
35
35
|
end
|
36
36
|
end
|
37
37
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe PassportFormatValidator do
|
4
|
-
before(:
|
4
|
+
before(:all) do
|
5
5
|
TestModel.reset_callbacks(:validate)
|
6
6
|
TestModel.validates(:field, passport_format: true)
|
7
7
|
end
|
@@ -15,9 +15,7 @@ describe PassportFormatValidator do
|
|
15
15
|
}
|
16
16
|
|
17
17
|
valid_passports.each do |passport|
|
18
|
-
|
19
|
-
model.field = passport
|
20
|
-
model.should be_valid
|
18
|
+
expect(TestModel.new(field: passport)).to be_valid
|
21
19
|
end
|
22
20
|
end
|
23
21
|
|
@@ -30,9 +28,7 @@ describe PassportFormatValidator do
|
|
30
28
|
}.push('', ' ', nil, [], {})
|
31
29
|
|
32
30
|
invalid_passports.each do |passport|
|
33
|
-
|
34
|
-
model.field = passport
|
35
|
-
model.should_not be_valid
|
31
|
+
expect(TestModel.new(field: passport)).to_not be_valid
|
36
32
|
end
|
37
33
|
end
|
38
|
-
end
|
34
|
+
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe RsFormatValidator do
|
4
|
-
before(:
|
4
|
+
before(:all) do
|
5
5
|
TestModel.reset_callbacks(:validate)
|
6
6
|
TestModel.validates(:field, rs_format: true)
|
7
7
|
end
|
@@ -14,9 +14,7 @@ describe RsFormatValidator do
|
|
14
14
|
}
|
15
15
|
|
16
16
|
valid_rss.each do |rs|
|
17
|
-
|
18
|
-
model.field = rs
|
19
|
-
model.should be_valid
|
17
|
+
expect(TestModel.new(field: rs)).to be_valid
|
20
18
|
end
|
21
19
|
end
|
22
20
|
|
@@ -30,9 +28,7 @@ describe RsFormatValidator do
|
|
30
28
|
}.push('', ' ', nil, [], {})
|
31
29
|
|
32
30
|
invalid_rss.each do |rs|
|
33
|
-
|
34
|
-
model.field = rs
|
35
|
-
model.should_not be_valid
|
31
|
+
expect(TestModel.new(field: rs)).to_not be_valid
|
36
32
|
end
|
37
33
|
end
|
38
|
-
end
|
34
|
+
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe SnilsFormatValidator do
|
4
|
-
before(:
|
4
|
+
before(:all) do
|
5
5
|
TestModel.reset_callbacks(:validate)
|
6
6
|
TestModel.validates(:field, snils_format: true)
|
7
7
|
end
|
@@ -15,9 +15,7 @@ describe SnilsFormatValidator do
|
|
15
15
|
}
|
16
16
|
|
17
17
|
valid_snilses.each do |snils|
|
18
|
-
|
19
|
-
model.field = snils
|
20
|
-
model.should be_valid
|
18
|
+
expect(TestModel.new(field: snils)).to be_valid
|
21
19
|
end
|
22
20
|
end
|
23
21
|
|
@@ -31,9 +29,7 @@ describe SnilsFormatValidator do
|
|
31
29
|
}.push('', ' ', nil, [], {})
|
32
30
|
|
33
31
|
invalid_snilses.each do |snils|
|
34
|
-
|
35
|
-
model.field = snils
|
36
|
-
model.should_not be_valid
|
32
|
+
expect(TestModel.new(field: snils)).to be_invalid
|
37
33
|
end
|
38
34
|
end
|
39
|
-
end
|
35
|
+
end
|
data/validates_russian.gemspec
CHANGED
metadata
CHANGED
@@ -1,71 +1,71 @@
|
|
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.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alex Antonov
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-07-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activemodel
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: 3.0.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: 3.0.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: bundler
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - ~>
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '1.3'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - ~>
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '1.3'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rake
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- -
|
45
|
+
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '0'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- -
|
52
|
+
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rspec
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- -
|
59
|
+
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
61
|
+
version: '3'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- -
|
66
|
+
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
68
|
+
version: '3'
|
69
69
|
description: validates specific russian values
|
70
70
|
email:
|
71
71
|
- kaburbundokel11g@inbox.ru
|
@@ -73,9 +73,10 @@ executables: []
|
|
73
73
|
extensions: []
|
74
74
|
extra_rdoc_files: []
|
75
75
|
files:
|
76
|
-
- .gitignore
|
77
|
-
- .travis.yml
|
76
|
+
- ".gitignore"
|
77
|
+
- ".travis.yml"
|
78
78
|
- CHANGELOG.md
|
79
|
+
- CONTRIBUTING.md
|
79
80
|
- Gemfile
|
80
81
|
- LICENSE.txt
|
81
82
|
- README.md
|
@@ -89,6 +90,7 @@ files:
|
|
89
90
|
- lib/validates_russian/region_numbers.rb
|
90
91
|
- lib/validates_russian/validator.rb
|
91
92
|
- lib/validates_russian/version.rb
|
93
|
+
- lib/validators/bik_format_validator.rb
|
92
94
|
- lib/validators/inn_format_validator.rb
|
93
95
|
- lib/validators/kpp_format_validator.rb
|
94
96
|
- lib/validators/ks_format_validator.rb
|
@@ -100,6 +102,7 @@ files:
|
|
100
102
|
- lib/validators/snils_format_validator.rb
|
101
103
|
- spec/spec_helper.rb
|
102
104
|
- spec/support/test_model.rb
|
105
|
+
- spec/validators/bik_format_spec.rb
|
103
106
|
- spec/validators/inn_format_validator_spec.rb
|
104
107
|
- spec/validators/kpp_format_validator_spec.rb
|
105
108
|
- spec/validators/ks_format_validator_spec.rb
|
@@ -120,23 +123,24 @@ require_paths:
|
|
120
123
|
- lib
|
121
124
|
required_ruby_version: !ruby/object:Gem::Requirement
|
122
125
|
requirements:
|
123
|
-
- -
|
126
|
+
- - ">="
|
124
127
|
- !ruby/object:Gem::Version
|
125
128
|
version: '0'
|
126
129
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
127
130
|
requirements:
|
128
|
-
- -
|
131
|
+
- - ">="
|
129
132
|
- !ruby/object:Gem::Version
|
130
133
|
version: '0'
|
131
134
|
requirements: []
|
132
135
|
rubyforge_project:
|
133
|
-
rubygems_version: 2.1
|
136
|
+
rubygems_version: 2.2.1
|
134
137
|
signing_key:
|
135
138
|
specification_version: 4
|
136
139
|
summary: validates specific russian values
|
137
140
|
test_files:
|
138
141
|
- spec/spec_helper.rb
|
139
142
|
- spec/support/test_model.rb
|
143
|
+
- spec/validators/bik_format_spec.rb
|
140
144
|
- spec/validators/inn_format_validator_spec.rb
|
141
145
|
- spec/validators/kpp_format_validator_spec.rb
|
142
146
|
- spec/validators/ks_format_validator_spec.rb
|