dockcheck 1.1.0 → 1.2.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: 3641eaf3d0f69439d4ca74e2c632fac946ab34d5e94870a04d4885223658a6fb
4
- data.tar.gz: 5f91140a536f06e4aa392722d56c12877dff72e173ca8a4c4cf5f2ccb22d8541
3
+ metadata.gz: 027af785cee633ef5163920a922060b0d4e0a45d4838af9163d6d19a10d3b3c4
4
+ data.tar.gz: 20122e58faba46a09c9a4229c561f7931e1a18b27b70c08f05622024a0b69dc3
5
5
  SHA512:
6
- metadata.gz: 545ae32d460a44aa645c1029d2f27515cec365dc77c31dba2697d1c0ee69745c8c3eb4475d8004042095616908a78bdc91a50bfecb73caceed3245c78a730afe
7
- data.tar.gz: 2da5e06e089fda3dcf2be8e1d08a0e9c07743521a74a9e179a69faf67d755676443213ca9362486c14620431fdbe0bfbedc8db9e9145a615b7be4418f88cb873
6
+ metadata.gz: 89e3a3db096788adce328d6f3f63b0a91399db131d6ac306346a9c52a3d4f5ffac7176d03c68e68b3bd62d03e36333810665f7e1959932b9d2815ac2b22d31fe
7
+ data.tar.gz: 0ae4008a704d610c8649ec4d9b4024f0579c41f944c8d6005a47d8aea9921448178ede1367be2b09b299bac84e2d0f090d45d850d7ec87e7d0c3b6d47524f2fe
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}
26
+ checkers_map = {inn: Inn, snils: Snils, bik: Bik}
27
27
 
28
28
  if checkers_map.key?(checker.to_sym)
29
29
  @current_checker = checkers_map[checker].new
@@ -35,3 +35,4 @@ end
35
35
 
36
36
  require 'dockcheck/inn'
37
37
  require 'dockcheck/snils'
38
+ require 'dockcheck/bik'
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ class DockCheck::Bik
4
+
5
+ def check(bik, _)
6
+ case bik.length
7
+ when 9
8
+ bik_valid?(bik)
9
+ else
10
+ raise StandardError.new 'Incorrect bik numbers count!'
11
+ end
12
+ end
13
+
14
+ def name
15
+ :bik
16
+ end
17
+
18
+ private
19
+ def prepare_bik(numbers)
20
+ numbers.split('').map(&:to_i)
21
+ end
22
+
23
+ def bik_valid?(bik)
24
+ bik.scan(/\D/).empty?
25
+ end
26
+ end
data/lib/dockcheck/inn.rb CHANGED
@@ -23,7 +23,7 @@ class DockCheck::Inn
23
23
 
24
24
  private
25
25
  def prepare_inn(numbers)
26
- numbers.split('').map { |n| n.to_i }
26
+ numbers.split('').map(&:to_i)
27
27
  end
28
28
 
29
29
  def control_sum_calc(inn, coefficients)
@@ -20,7 +20,7 @@ class DockCheck::Snils
20
20
 
21
21
  private
22
22
  def prepare_snils(numbers)
23
- numbers.split('').map { |n| n.to_i }
23
+ numbers.split('').map(&:to_i)
24
24
  end
25
25
 
26
26
  def control_sum_calc(inn, coefficients)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dockcheck
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Artem Solomatin
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-06-17 00:00:00.000000000 Z
11
+ date: 2021-06-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
@@ -31,6 +31,7 @@ extensions: []
31
31
  extra_rdoc_files: []
32
32
  files:
33
33
  - lib/dockcheck.rb
34
+ - lib/dockcheck/bik.rb
34
35
  - lib/dockcheck/inn.rb
35
36
  - lib/dockcheck/snils.rb
36
37
  homepage: https://rubygems.org/gems/dockcheck