dockcheck 1.4.0 → 1.5.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8f352a253bbf5db4f908e1136c37ad48e9af3d70793624b936ca90cd6fb24004
4
- data.tar.gz: bfbdfc0a4aca33ddc9e50434c7c8fbbbbea3ce678cbeb34f690c8bfe42b0c163
3
+ metadata.gz: ae7aaa0ca2abb56b55e0ff11c0b816ec17e4e7626ed22bdea52700d971383686
4
+ data.tar.gz: b5574801c3f3dc57dfa68d709c498eb0c1de1c8875bc8f501832f9d04dc1064f
5
5
  SHA512:
6
- metadata.gz: fb97d053b3c4fdb07dd6f31540b4f41d5739b77d32217730915ec22c94ac0eeed77a8cd25e55a5898cd17678e5f9d13098ac97f6ee852139cee167c172cbf519
7
- data.tar.gz: 6637e74d46a31c5e9b665f8317dfff98d15a9a0d462e7a5a48e06e3dfe2fc529f1c6e4420d7b720a62e96d913d0065be939d25ac08db47db490fe9f06cfe52e5
6
+ metadata.gz: 365180ad497aaf40d805dfc377516e474cce8c0e041ef756372f3e929a3409bb0e6fa0c6d7ac705c0374f42c620c3c080108d433de0ee1cfd36020bed0117d09
7
+ data.tar.gz: b66ae04b7c81c9ddfd1a00359a3e3b861f5c2118b4a80dcf223b294617242a2997fd73fe91256bd39cff0ea85a4ff0fff8381d7afb1fc312d5df412c1cb05fcb
data/lib/dockcheck.rb CHANGED
@@ -23,7 +23,7 @@ class DockCheck
23
23
 
24
24
  private
25
25
  def dispatch(checker)
26
- checkers_map = {inn: Inn, snils: Snils, bik: Bik, kpp: Kpp, ogrnip: Ogrnip}
26
+ checkers_map = {inn: Inn, snils: Snils, bik: Bik, kpp: Kpp, ogrnip: Ogrnip, ogrn: Ogrn}
27
27
 
28
28
  if checkers_map.key?(checker.to_sym)
29
29
  @current_checker = checkers_map[checker].new
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ class DockCheck::Ogrn
4
+
5
+ def check(ogrn, _)
6
+ case ogrn.length
7
+ when 13
8
+ if only_digits?(ogrn)
9
+ ogrn_valid?(ogrn)
10
+ else
11
+ false
12
+ end
13
+ else
14
+ raise StandardError.new 'Incorrect ogrn numbers count!'
15
+ end
16
+ end
17
+
18
+ def name
19
+ :ogrn
20
+ end
21
+
22
+ private
23
+
24
+ def only_digits?(ogrn)
25
+ ogrn.scan(/\D/).empty?
26
+ end
27
+
28
+ def ogrn_valid?(ogrn)
29
+ first_code = ogrn[0..12].to_i
30
+ second_code = (first_code / 11).floor * 11
31
+ result_sum = (first_code - second_code) % 10
32
+ result_sum == ogrn[13].to_i
33
+ end
34
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dockcheck
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.0
4
+ version: 1.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Artem Solomatin
@@ -34,6 +34,7 @@ files:
34
34
  - lib/dockcheck/bik.rb
35
35
  - lib/dockcheck/inn.rb
36
36
  - lib/dockcheck/kpp.rb
37
+ - lib/dockcheck/ogrn.rb
37
38
  - lib/dockcheck/ogrnip.rb
38
39
  - lib/dockcheck/snils.rb
39
40
  homepage: https://rubygems.org/gems/dockcheck