license-validator 0.0.0 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (59) hide show
  1. checksums.yaml +4 -4
  2. data/lib/license-validator.rb +112 -0
  3. data/lib/license_validator/driver.rb +69 -0
  4. data/lib/license_validator/states.rb +14 -0
  5. data/lib/license_validator/validations/base.rb +63 -0
  6. data/lib/license_validator/validations/state_ak.rb +24 -0
  7. data/lib/license_validator/validations/state_al.rb +28 -0
  8. data/lib/license_validator/validations/state_ar.rb +20 -0
  9. data/lib/license_validator/validations/state_az.rb +32 -0
  10. data/lib/license_validator/validations/state_ca.rb +20 -0
  11. data/lib/license_validator/validations/state_co.rb +24 -0
  12. data/lib/license_validator/validations/state_ct.rb +41 -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 +28 -0
  18. data/lib/license_validator/validations/state_ia.rb +23 -0
  19. data/lib/license_validator/validations/state_id.rb +28 -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 +26 -0
  23. data/lib/license_validator/validations/state_ky.rb +20 -0
  24. data/lib/license_validator/validations/state_la.rb +16 -0
  25. data/lib/license_validator/validations/state_ma.rb +23 -0
  26. data/lib/license_validator/validations/state_md.rb +23 -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 +32 -0
  31. data/lib/license_validator/validations/state_ms.rb +16 -0
  32. data/lib/license_validator/validations/state_mt.rb +42 -0
  33. data/lib/license_validator/validations/state_nc.rb +24 -0
  34. data/lib/license_validator/validations/state_nd.rb +20 -0
  35. data/lib/license_validator/validations/state_ne.rb +16 -0
  36. data/lib/license_validator/validations/state_nh.rb +31 -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 +32 -0
  41. data/lib/license_validator/validations/state_oh.rb +20 -0
  42. data/lib/license_validator/validations/state_ok.rb +20 -0
  43. data/lib/license_validator/validations/state_or.rb +26 -0
  44. data/lib/license_validator/validations/state_pa.rb +20 -0
  45. data/lib/license_validator/validations/state_ri.rb +20 -0
  46. data/lib/license_validator/validations/state_sc.rb +16 -0
  47. data/lib/license_validator/validations/state_sd.rb +20 -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 +27 -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 +85 -2
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module LicenseValidator
4
+ module Validations
5
+ class StateVt < LicenseValidator::Validations::Base
6
+ # @see super
7
+ def validate
8
+ super
9
+
10
+ return if driver.license_num.match?(/\A\d{7}[0-9a]\z/i)
11
+
12
+ errors.add(:license_num, 'License number requires 7 number followed by an A or 1 more number for VT.')
13
+ end
14
+ end
15
+ end
16
+ end
@@ -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,27 @@
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
+
18
+ return if lic_num.match?(/\A[01a-z][a-z]?\d{5,6}\z/i)
19
+
20
+ errors.add(
21
+ :license_num,
22
+ 'License number requires 7 Numeric or 1-2 Alpha, 5-6 Numeric (Can start with 0 or 1 or any letter) for WV.'
23
+ )
24
+ end
25
+ end
26
+ end
27
+ 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__)].sort.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'
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
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-31 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: