license-validator 0.0.0 → 1.0.0.pre.rc.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.
Files changed (59) hide show
  1. checksums.yaml +4 -4
  2. data/lib/license-validator.rb +114 -0
  3. data/lib/license_validator/driver.rb +67 -0
  4. data/lib/license_validator/states.rb +14 -0
  5. data/lib/license_validator/validations/base.rb +62 -0
  6. data/lib/license_validator/validations/state_ak.rb +24 -0
  7. data/lib/license_validator/validations/state_al.rb +26 -0
  8. data/lib/license_validator/validations/state_ar.rb +20 -0
  9. data/lib/license_validator/validations/state_az.rb +31 -0
  10. data/lib/license_validator/validations/state_ca.rb +20 -0
  11. data/lib/license_validator/validations/state_co.rb +23 -0
  12. data/lib/license_validator/validations/state_ct.rb +39 -0
  13. data/lib/license_validator/validations/state_dc.rb +24 -0
  14. data/lib/license_validator/validations/state_de.rb +16 -0
  15. data/lib/license_validator/validations/state_fl.rb +16 -0
  16. data/lib/license_validator/validations/state_ga.rb +28 -0
  17. data/lib/license_validator/validations/state_hi.rb +27 -0
  18. data/lib/license_validator/validations/state_ia.rb +22 -0
  19. data/lib/license_validator/validations/state_id.rb +27 -0
  20. data/lib/license_validator/validations/state_il.rb +16 -0
  21. data/lib/license_validator/validations/state_in.rb +16 -0
  22. data/lib/license_validator/validations/state_ks.rb +24 -0
  23. data/lib/license_validator/validations/state_ky.rb +19 -0
  24. data/lib/license_validator/validations/state_la.rb +16 -0
  25. data/lib/license_validator/validations/state_ma.rb +22 -0
  26. data/lib/license_validator/validations/state_md.rb +22 -0
  27. data/lib/license_validator/validations/state_me.rb +16 -0
  28. data/lib/license_validator/validations/state_mi.rb +16 -0
  29. data/lib/license_validator/validations/state_mn.rb +16 -0
  30. data/lib/license_validator/validations/state_mo.rb +28 -0
  31. data/lib/license_validator/validations/state_ms.rb +16 -0
  32. data/lib/license_validator/validations/state_mt.rb +39 -0
  33. data/lib/license_validator/validations/state_nc.rb +24 -0
  34. data/lib/license_validator/validations/state_nd.rb +19 -0
  35. data/lib/license_validator/validations/state_ne.rb +16 -0
  36. data/lib/license_validator/validations/state_nh.rb +30 -0
  37. data/lib/license_validator/validations/state_nj.rb +16 -0
  38. data/lib/license_validator/validations/state_nm.rb +16 -0
  39. data/lib/license_validator/validations/state_nv.rb +21 -0
  40. data/lib/license_validator/validations/state_ny.rb +28 -0
  41. data/lib/license_validator/validations/state_oh.rb +19 -0
  42. data/lib/license_validator/validations/state_ok.rb +20 -0
  43. data/lib/license_validator/validations/state_or.rb +24 -0
  44. data/lib/license_validator/validations/state_pa.rb +20 -0
  45. data/lib/license_validator/validations/state_ri.rb +19 -0
  46. data/lib/license_validator/validations/state_sc.rb +16 -0
  47. data/lib/license_validator/validations/state_sd.rb +19 -0
  48. data/lib/license_validator/validations/state_tn.rb +20 -0
  49. data/lib/license_validator/validations/state_tx.rb +24 -0
  50. data/lib/license_validator/validations/state_ut.rb +16 -0
  51. data/lib/license_validator/validations/state_va.rb +16 -0
  52. data/lib/license_validator/validations/state_vt.rb +16 -0
  53. data/lib/license_validator/validations/state_wa.rb +23 -0
  54. data/lib/license_validator/validations/state_wi.rb +16 -0
  55. data/lib/license_validator/validations/state_wv.rb +26 -0
  56. data/lib/license_validator/validations/state_wy.rb +16 -0
  57. data/lib/license_validator/validators.rb +5 -0
  58. data/lib/license_validator/version.rb +1 -1
  59. metadata +87 -4
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module LicenseValidator
4
+ module Validations
5
+ class StateWa < LicenseValidator::Validations::Base
6
+ # @see super
7
+ def validate
8
+ super
9
+
10
+ return if driver.license_num.match?(/\A[0-9a-z*]{12}\z/i)
11
+
12
+ errors.add(
13
+ :license_num,
14
+ [
15
+ 'License number requires 5 Alphabetic (last name), 1 Alphabetic (first name), 1 Alphabetic (middle name),',
16
+ '3 Numeric, 1 Alphabetic, 1 Alphanumeric or 12 Alphanumeric or “WDL”, 9 Alphanumeric for WA.',
17
+ 'Names should be padded with *'
18
+ ].join(' ')
19
+ )
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module LicenseValidator
4
+ module Validations
5
+ class StateWi < LicenseValidator::Validations::Base
6
+ # @see super
7
+ def validate
8
+ super
9
+
10
+ return if driver.license_num.match?(/\A[a-z]\d{13}\z/i)
11
+
12
+ errors.add(:license_num, 'License number requires 1 letter followed by 13 numbers for WI.')
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module LicenseValidator
4
+ module Validations
5
+ class StateWv < LicenseValidator::Validations::Base
6
+ # @see super
7
+ def validate
8
+ super
9
+
10
+ if driver.last_name.blank?
11
+ errors.add(:last_name, 'Last name is required for WV.')
12
+ end
13
+
14
+ lic_num = driver.license_num
15
+
16
+ return if lic_num.match?(/\A\d{7}\z/i)
17
+ return if lic_num.match?(/\A[01a-z][a-z]?\d{5,6}\z/i)
18
+
19
+ errors.add(
20
+ :license_num,
21
+ 'License number requires 7 Numeric or 1-2 Alpha, 5-6 Numeric (Can start with 0 or 1 or any letter) for WV.'
22
+ )
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module LicenseValidator
4
+ module Validations
5
+ class StateWy < LicenseValidator::Validations::Base
6
+ # @see super
7
+ def validate
8
+ super
9
+
10
+ return if driver.license_num.match?(/\A\d{9}\z/i)
11
+
12
+ errors.add(:license_num, 'License number requires 9 numbers for WY.')
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ Dir[File.expand_path('validations/*.rb', __dir__)].each do |filename|
4
+ require filename
5
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module LicenseValidator
4
- VERSION = '0.0.0'
4
+ VERSION = '1.0.0-rc.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: 0.0.0
4
+ version: 1.0.0.pre.rc.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: 2023-08-28 00:00:00.000000000 Z
11
+ date: 2023-08-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rubocop-rubomatic
@@ -24,6 +24,34 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.3'
27
+ - !ruby/object:Gem::Dependency
28
+ name: activemodel
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 6.0.3.6
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: 6.0.3.6
41
+ - !ruby/object:Gem::Dependency
42
+ name: activesupport
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: 6.0.3.6
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: 6.0.3.6
27
55
  description:
28
56
  email:
29
57
  - documents@brandsinsurance.com
@@ -35,6 +63,61 @@ files:
35
63
  - LICENSE
36
64
  - README.adoc
37
65
  - lib/license-validator.rb
66
+ - lib/license_validator/driver.rb
67
+ - lib/license_validator/states.rb
68
+ - lib/license_validator/validations/base.rb
69
+ - lib/license_validator/validations/state_ak.rb
70
+ - lib/license_validator/validations/state_al.rb
71
+ - lib/license_validator/validations/state_ar.rb
72
+ - lib/license_validator/validations/state_az.rb
73
+ - lib/license_validator/validations/state_ca.rb
74
+ - lib/license_validator/validations/state_co.rb
75
+ - lib/license_validator/validations/state_ct.rb
76
+ - lib/license_validator/validations/state_dc.rb
77
+ - lib/license_validator/validations/state_de.rb
78
+ - lib/license_validator/validations/state_fl.rb
79
+ - lib/license_validator/validations/state_ga.rb
80
+ - lib/license_validator/validations/state_hi.rb
81
+ - lib/license_validator/validations/state_ia.rb
82
+ - lib/license_validator/validations/state_id.rb
83
+ - lib/license_validator/validations/state_il.rb
84
+ - lib/license_validator/validations/state_in.rb
85
+ - lib/license_validator/validations/state_ks.rb
86
+ - lib/license_validator/validations/state_ky.rb
87
+ - lib/license_validator/validations/state_la.rb
88
+ - lib/license_validator/validations/state_ma.rb
89
+ - lib/license_validator/validations/state_md.rb
90
+ - lib/license_validator/validations/state_me.rb
91
+ - lib/license_validator/validations/state_mi.rb
92
+ - lib/license_validator/validations/state_mn.rb
93
+ - lib/license_validator/validations/state_mo.rb
94
+ - lib/license_validator/validations/state_ms.rb
95
+ - lib/license_validator/validations/state_mt.rb
96
+ - lib/license_validator/validations/state_nc.rb
97
+ - lib/license_validator/validations/state_nd.rb
98
+ - lib/license_validator/validations/state_ne.rb
99
+ - lib/license_validator/validations/state_nh.rb
100
+ - lib/license_validator/validations/state_nj.rb
101
+ - lib/license_validator/validations/state_nm.rb
102
+ - lib/license_validator/validations/state_nv.rb
103
+ - lib/license_validator/validations/state_ny.rb
104
+ - lib/license_validator/validations/state_oh.rb
105
+ - lib/license_validator/validations/state_ok.rb
106
+ - lib/license_validator/validations/state_or.rb
107
+ - lib/license_validator/validations/state_pa.rb
108
+ - lib/license_validator/validations/state_ri.rb
109
+ - lib/license_validator/validations/state_sc.rb
110
+ - lib/license_validator/validations/state_sd.rb
111
+ - lib/license_validator/validations/state_tn.rb
112
+ - lib/license_validator/validations/state_tx.rb
113
+ - lib/license_validator/validations/state_ut.rb
114
+ - lib/license_validator/validations/state_va.rb
115
+ - lib/license_validator/validations/state_vt.rb
116
+ - lib/license_validator/validations/state_wa.rb
117
+ - lib/license_validator/validations/state_wi.rb
118
+ - lib/license_validator/validations/state_wv.rb
119
+ - lib/license_validator/validations/state_wy.rb
120
+ - lib/license_validator/validators.rb
38
121
  - lib/license_validator/version.rb
39
122
  homepage: https://github.com/brandsinsurance/license-validator/
40
123
  licenses:
@@ -55,9 +138,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
55
138
  version: 2.5.3
56
139
  required_rubygems_version: !ruby/object:Gem::Requirement
57
140
  requirements:
58
- - - ">="
141
+ - - ">"
59
142
  - !ruby/object:Gem::Version
60
- version: '0'
143
+ version: 1.3.1
61
144
  requirements: []
62
145
  rubygems_version: 3.4.10
63
146
  signing_key: