Class: ActiveModel::Validations::NinoValidatorUK

Inherits:
Object
  • Object
show all
Defined in:
lib/active_validators/active_model/validations/nino_validator.rb

Overview

The National Insurance number is a number used in the United Kingdom. The format of the number is two prefix letters, six digits, and one suffix letter. The example used is typically AB123456C. Where AB - prefix, 123456 - number, C - suffix. More details: en.wikipedia.org/wiki/National_Insurance_number

Instance Method Summary collapse

Constructor Details

#initialize(value) ⇒ NinoValidatorUK

Returns a new instance of NinoValidatorUK.



14
15
16
17
18
19
20
21
# File 'lib/active_validators/active_model/validations/nino_validator.rb', line 14

def initialize(value)
  @nino        = value.gsub(/\s/, '').upcase                                                  # Remove spaces (they may be) and make text to be same.
  @first_char  = @nino[0]
  @second_char = @nino[1]
  @prefix      = @nino[0..1]
  @number      = @nino[2..7]
  @suffix      = @nino[-1]
end

Instance Method Details

#valid?Boolean

Returns:

  • (Boolean)


23
24
25
26
# File 'lib/active_validators/active_model/validations/nino_validator.rb', line 23

def valid?
  size_is?(9) && first_char_valid? && second_char_valid? && prefix_valid? &&
  prefix_not_allocated? && prefix_not_administrative_number? && number_valid? && suffix_valid?
end