license-validator 1.4.0.rc.pre.1 → 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: cc1a4b3add12fbec42364a9d50eed6af666345437b4b760787c426b037303ff0
4
- data.tar.gz: 6d739fb83a56acf948e73b17c0169133786ef198f1403e78d529cd08159a1628
3
+ metadata.gz: d7b2597ec3168a0c77854af16fd64feb8030572e2873f279b5c2a8ce159c8f2c
4
+ data.tar.gz: 4d6ae05b7f7cfdae3d700f9db92a24b7a5351cf0873362a22e490e0a1ba3ee5e
5
5
  SHA512:
6
- metadata.gz: 130cacd8e5de5131ae14f1400cb6bce4071ff1b9afa412c9aa9bc7b3a3550a0782a57e2aa22b937701641e6a537e99981d8ca93cd962144a207cf7187baad178
7
- data.tar.gz: 67b365c18fcefbe9122c753e212ee165dc48721f4be29a71dba443532d11c1ab37ae1da72d0938ad8cfa6108b7a4350c91b29392f1cb8bd690a88c29e4aa2cfe
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.rc.pre.1'
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.rc.pre.1
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
@@ -164,9 +164,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
164
164
  version: 2.7.0
165
165
  required_rubygems_version: !ruby/object:Gem::Requirement
166
166
  requirements:
167
- - - ">"
167
+ - - ">="
168
168
  - !ruby/object:Gem::Version
169
- version: 1.3.1
169
+ version: '0'
170
170
  requirements: []
171
171
  rubygems_version: 3.4.10
172
172
  signing_key: