mrz 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/README.md +3 -0
- data/lib/mrz/result.rb +14 -5
- data/lib/mrz/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5a21fe38e40f1a7f2bca855060fc9e4573de9e4908d37548bb72a13d240504d7
|
4
|
+
data.tar.gz: d116e86a00d5841231f65e566b6b347f6d9d79ef469fccb3b36c7aee99a246dc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9cfafa4c7ac18f3956a32f33f5aa4044d70812f4927a4e893739398429c446b6779adc7490fe3e38f9cb4db92b7a279048c0cfc34844c1ed338b45ae50882def
|
7
|
+
data.tar.gz: 7a1fd31c09d0c1dfaacc0dce5e879954927c5b42a95cb13d216d45bc14f6badb6a8716bf67463be23f1adf1f9d58dc1adfcfd292e1664112ea0f03610c1b51d5
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -32,6 +32,9 @@ id_card = [
|
|
32
32
|
result = MRZ.parse(id_card)
|
33
33
|
|
34
34
|
result.valid? # => true
|
35
|
+
result.valid_birth_date? # => true
|
36
|
+
result.valid_expiration_date? # => true
|
37
|
+
result.valid_document_number? # => true
|
35
38
|
result.birth_date # => Date.new(1964, 8, 12)
|
36
39
|
result.birth_date_check_digit # => "5"
|
37
40
|
result.composite_check_digit # => "4"
|
data/lib/mrz/result.rb
CHANGED
@@ -46,13 +46,22 @@ module MRZ
|
|
46
46
|
|
47
47
|
def valid?
|
48
48
|
@_valid ||= begin
|
49
|
-
|
50
|
-
MRZ::CheckDigit.calculate(@document_number).to_s == @document_number_check_digit &&
|
51
|
-
MRZ::CheckDigit.calculate(@expiration_date).to_s == @expiration_date_check_digit &&
|
52
|
-
composite_digit_valid?
|
49
|
+
valid_birth_date? && valid_expiration_date? && valid_document_number? && valid_composite_digit?
|
53
50
|
end
|
54
51
|
end
|
55
52
|
|
53
|
+
def valid_birth_date?
|
54
|
+
@_valid_birth_date ||= MRZ::CheckDigit.calculate(@birth_date).to_s == @birth_date_check_digit
|
55
|
+
end
|
56
|
+
|
57
|
+
def valid_expiration_date?
|
58
|
+
@_valid_expiration_date ||= MRZ::CheckDigit.calculate(@expiration_date).to_s == @expiration_date_check_digit
|
59
|
+
end
|
60
|
+
|
61
|
+
def valid_document_number?
|
62
|
+
@_valid_document_number ||= MRZ::CheckDigit.calculate(@document_number).to_s == @document_number_check_digit
|
63
|
+
end
|
64
|
+
|
56
65
|
private
|
57
66
|
|
58
67
|
def add_correct_century(year)
|
@@ -63,7 +72,7 @@ module MRZ
|
|
63
72
|
end
|
64
73
|
end
|
65
74
|
|
66
|
-
def
|
75
|
+
def valid_composite_digit?
|
67
76
|
if @type == :td1
|
68
77
|
MRZ::CheckDigit.calculate(
|
69
78
|
@document_number + @document_number_check_digit +
|
data/lib/mrz/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mrz
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Streetspotr GmbH
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-03-
|
11
|
+
date: 2018-03-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|