verified 1.3.0 → 1.3.1

Sign up to get free protection for your applications and to get access to all the features.
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