verified 1.3.0 → 1.3.1

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
  SHA1:
3
- metadata.gz: 662f237da759389d4d0c5555e205f24f775f75f3
4
- data.tar.gz: 724fb1cd3688075750946b4921d47d9dbdae1f5f
3
+ metadata.gz: de45d45a48b3ec9fd6d58225479df9a74852a8ba
4
+ data.tar.gz: 8057b1960d19ea44aa9e544d09edeb56b661d87d
5
5
  SHA512:
6
- metadata.gz: 34711f2c9a721d9d84d9f936514b32279b5824efeaa6414075f607fd65fcf5344d10a23a8d5c3134671a42178c64328ece0a78b775b2b6bdb7a069102ac12ec7
7
- data.tar.gz: d1632fce51c5d5d299490845acdd529bd4bd693fbdfcea9f02b088798ad94da884bd703a14bf57b11bcd5705967cf2da112bd2615a4691f8aab1dd8b6ba2be42
6
+ metadata.gz: 571abb918069ee6b68b73d884fa691b5306cbb872673e0d16a667f805d1b05a6774ddea4e959d037538ff569318b8d9df24a4fed05caa441aaf4027d0842a919
7
+ data.tar.gz: 3a0800357fa6fad710e7adaeaf8a838e85b70a0af1da26e05e00e7a5f8071be5e74500f3be4b623cd02d220d1c90b69b77d6f8f69774de3d7e13bb5ed6ad89c5
data/.gitignore CHANGED
@@ -7,3 +7,5 @@
7
7
  /pkg/
8
8
  /spec/reports/
9
9
  /tmp/
10
+
11
+ *.gem
data/README.md CHANGED
@@ -2,6 +2,23 @@
2
2
 
3
3
  A simple Ruby Gem to verify and parse MRZ codes on passports. Useful if you need to meet KYC or Money Laundering requirements.
4
4
 
5
+ ## Examples
6
+ Setup a new instance
7
+
8
+ ```ruby
9
+ passport = Verified::Passport.new("mrz_code_1", "mrz_code_2")
10
+ ```
11
+
12
+ and you're done! Use it like this:
13
+
14
+ ```ruby
15
+ passport.verified?
16
+ # => true
17
+ passport.last_name
18
+ # => LAST
19
+ passport.gender
20
+ # => M
21
+ ```
5
22
 
6
23
  ## Installation
7
24
 
@@ -50,7 +67,7 @@ personal_number : Personal number, if chosen to be given by issuer. Nil if not s
50
67
 
51
68
  ### UK Drivers License
52
69
 
53
- This is coming soon, as I'm currently waiting for the DVLA to respond to a [freedom of information request]() that will allow me to understand how the check digits in UK driver numbers are calculated.
70
+ This is coming soon, as I'm currently waiting for the DVLA to respond to a freedom of information request that will allow me to understand how the check digits in UK driver numbers are calculated so I can verify them. Feel free to follow the [FOI request on WhatDoTheyKnow](https://www.whatdotheyknow.com/request/what_check_digit_algorithm_is_us#incoming-670731) and I'll update the gem as soon as I can once I have a response.
54
71
 
55
72
  ## Development
56
73
 
@@ -0,0 +1,23 @@
1
+ module Verified
2
+ class DVLALicense
3
+ private
4
+ def initialize(license_number)
5
+ checker = DVLA::Check.new
6
+ @data = checker.check(license_number)
7
+ end
8
+
9
+ def method_missing(name, *args, &blk)
10
+ if args.empty? && blk.nil? && @data.has_key?(name.to_s)
11
+ @data[name.to_s]
12
+ else
13
+ super
14
+ end
15
+ end
16
+
17
+ public
18
+ def verified?
19
+ return true if @data != false
20
+ return false
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,11 @@
1
+ module DVLA
2
+ class Check
3
+ def initialize
4
+ @@digit_checker = CheckDigit.new
5
+ end
6
+
7
+ def check(driver_number)
8
+ # DVLA Logic goes here...
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,9 @@
1
+ module DVLA
2
+ class CheckDigit
3
+ def check_calc(str)
4
+ # Waiting for the DVLA to respond to my Freedom of Information request in order to right this function :-(
5
+ # Supposedly due on the 24th July but after my dealings with them I'd be surprised if they meet it...
6
+ return nil
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,5 @@
1
+ require "verified/parser/dvla/check"
2
+ require "verified/parser/dvla/check_digit"
3
+
4
+ module DVLA
5
+ end
@@ -6,6 +6,11 @@ module MRZ
6
6
  end
7
7
 
8
8
  def check(mrz_line_1, mrz_line_2)
9
+
10
+ if mrz_line_1.length != 44 && mrz_line_2.length != 44
11
+ return false
12
+ end
13
+
9
14
  # Read the first line without chevrons
10
15
  split = mrz_line_1.split(/<+/)
11
16
 
@@ -1,4 +1,5 @@
1
1
  require "verified/parser/mrz"
2
+ require "verified/parser/dvla"
2
3
 
3
4
  module Parser
4
5
  end
@@ -1,3 +1,3 @@
1
1
  module Verified
2
- VERSION = "1.3.0"
2
+ VERSION = "1.3.1"
3
3
  end
data/lib/verified.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  require "verified/version"
2
2
  require "verified/parser"
3
3
  require "verified/passport"
4
+ require "verified/dvlalicense"
4
5
 
5
6
  module Verified
6
7
  end
data/verified.gemspec CHANGED
@@ -21,5 +21,5 @@ Gem::Specification.new do |spec|
21
21
 
22
22
  spec.add_development_dependency "bundler", "~> 1.10"
23
23
  spec.add_development_dependency "rake", "~> 10.0"
24
- spec.add_development_dependency "minitest"
24
+ spec.add_development_dependency "minitest", "~> 0"
25
25
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: verified
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 1.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ruby
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-07-01 00:00:00.000000000 Z
11
+ date: 2015-07-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -42,14 +42,14 @@ dependencies:
42
42
  name: minitest
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
  description: A simple gem to verify and parse MRZ codes and numbers on passports and
@@ -71,14 +71,17 @@ files:
71
71
  - bin/console
72
72
  - bin/setup
73
73
  - lib/verified.rb
74
+ - lib/verified/dvlalicense.rb
74
75
  - lib/verified/parser.rb
76
+ - lib/verified/parser/dvla.rb
77
+ - lib/verified/parser/dvla/check.rb
78
+ - lib/verified/parser/dvla/check_digit.rb
75
79
  - lib/verified/parser/mrz.rb
76
80
  - lib/verified/parser/mrz/check.rb
77
81
  - lib/verified/parser/mrz/check_digit.rb
78
82
  - lib/verified/parser/mrz/yy_date.rb
79
83
  - lib/verified/passport.rb
80
84
  - lib/verified/version.rb
81
- - verified-1.3.0.gem
82
85
  - verified.gemspec
83
86
  homepage: http://github.com/rubymeow/verified
84
87
  licenses:
@@ -100,7 +103,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
100
103
  version: '0'
101
104
  requirements: []
102
105
  rubyforge_project:
103
- rubygems_version: 2.0.14
106
+ rubygems_version: 2.4.8
104
107
  signing_key:
105
108
  specification_version: 4
106
109
  summary: Really simple passport, drivers license and other identification parsing
data/verified-1.3.0.gem DELETED
Binary file