Class: LicenseValidator::Validations::StateId

Inherits:
Base
  • Object
show all
Defined in:
lib/license_validator/validations/state_id.rb

Instance Attribute Summary

Attributes inherited from Base

#driver, #errors, #infos, #warnings

Instance Method Summary collapse

Methods inherited from Base

human_attribute_name, #initialize, lookup_ancestors, #read_attribute_for_validation, #validation_results

Constructor Details

This class inherits a constructor from LicenseValidator::Validations::Base

Instance Method Details

#validateObject

See Also:

  • super


7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/license_validator/validations/state_id.rb', line 7

def validate
  super

  if driver.last_name.blank?
    errors.add(:last_name, 'Last name required for ID.')
  end

  if driver.dob.blank?
    errors.add(:dob, 'D.O.B. required for ID.')
  end

  lic_num = driver.license_num

  return if lic_num.match?(/\A[a-z]{2}\d{6}[a-z]\z/i)

  return if lic_num.match?(/\A\d{9}\z/i)

  errors.add(:license_num, 'License number requires 2 alphabetic, 6 numeric, 1 alphabetic or 9 numeric for ID.')
end