license-validator 1.4.0 → 1.4.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
  SHA256:
3
- metadata.gz: 5e089c9fc57e3cdc81cb5d08126067bdb73be93489830b7f6c08a6594b5247c6
4
- data.tar.gz: 06e189d43fa9ba0efa7688efcf088bdfa329977ff6d03ee8199fda7eb6e1a6cd
3
+ metadata.gz: d7b2597ec3168a0c77854af16fd64feb8030572e2873f279b5c2a8ce159c8f2c
4
+ data.tar.gz: 4d6ae05b7f7cfdae3d700f9db92a24b7a5351cf0873362a22e490e0a1ba3ee5e
5
5
  SHA512:
6
- metadata.gz: 4ea6541c5aee572f2974ea47f7fa556ccbefa93a9e539179c294dca2f208d199640d2a6f58791567959060250342510a26cb9e0c20716143d8c9fee2d802f1af
7
- data.tar.gz: ab2de537fc9497fa6cae73d1c8a6361e8e9ae59d6279c7ee378d880416d324c4471c6e42bb3b1887ecd1c01753785fd0847a2300bd821bbfdf55f1c08d8974a8
6
+ metadata.gz: 8235424f2ee7cd9dcdd0149cbea0c53eadee3cb172d4ce4c0f67be8555ad9cfb1f8399ffb034f72f5482b3d69156699ddccfc5273673a3fe70680785fabbec9b
7
+ data.tar.gz: a665422ab481700ff725b5079bf33046fb4e04a9d835798d37cf660b1aac79526242ce782d4c419284214327b58a7abdde4a6fd2aec455fb5459faed23d14132
data/CHANGELOG.adoc CHANGED
@@ -1,3 +1,7 @@
1
+ == 1.4.1
2
+
3
+ * Fix MB license format
4
+
1
5
  == 1.4.0
2
6
 
3
7
  * Add support for validating Canadian licenses
@@ -7,7 +7,33 @@ module LicenseValidator
7
7
  def validate
8
8
  super
9
9
 
10
- return if driver.license_num.match?(/\A[a-z][a-z*]{4}[a-z][a-z*][a-z0-9]{2}[0-9][a-z0-9]{2}[0-9]\z/i)
10
+ if driver.first_name.blank?
11
+ errors.add(:first_name, 'First name required for MB.')
12
+
13
+ return
14
+ end
15
+
16
+ if driver.last_name.blank?
17
+ errors.add(:last_name, 'Last name required for MB.')
18
+
19
+ return
20
+ end
21
+
22
+ if driver.dob.blank?
23
+ errors.add(:dob, 'D.O.B. required for MB.')
24
+
25
+ return
26
+ end
27
+
28
+ expected_date_of_birth = (100 - driver.dob.strftime('%y').to_i).to_s.rjust(2, '0')[-2..]
29
+
30
+ last_name = driver.last_name[0, 5].ljust(5, '*')
31
+
32
+ first_initial = driver.first_name[0]
33
+
34
+ regex = Regexp.new("\\A#{last_name}#{first_initial}[a-z*]#{expected_date_of_birth}[A-Z0-9]{3}\\z", 'i')
35
+
36
+ return if driver.license_num.match?(regex)
11
37
 
12
38
  errors.add(
13
39
  :license_num,
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module LicenseValidator
4
- VERSION = '1.4.0'
4
+ VERSION = '1.4.1'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: license-validator
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.0
4
+ version: 1.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brands Insurance
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2025-06-24 00:00:00.000000000 Z
11
+ date: 2025-06-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rubocop-rubomatic