Class: NumberPlate::SG::Validator
Constant Summary
Constants included
from Checksum
Checksum::CHECK_SUM, Checksum::MULTIPLIER
Instance Attribute Summary
#country
Instance Method Summary
collapse
Methods included from Checksum
#checksum, #get_checksum_from_numbers, #numbers
Constructor Details
Returns a new instance of Validator.
9
10
11
|
# File 'lib/number_plate/sg/validator.rb', line 9
def initialize
@country = "SG"
end
|
Instance Method Details
#is_valid?(registration_number) ⇒ Boolean
13
14
15
16
17
18
|
# File 'lib/number_plate/sg/validator.rb', line 13
def is_valid?(registration_number)
super &&
valid_length? &&
valid_pattern? &&
valid_checksum?
end
|
#valid_checksum? ⇒ Boolean
28
29
30
|
# File 'lib/number_plate/sg/validator.rb', line 28
def valid_checksum?
checksum == @license[-1]
end
|
#valid_length? ⇒ Boolean
20
21
22
|
# File 'lib/number_plate/sg/validator.rb', line 20
def valid_length?
@license.length <= 8 && @license.length >= 4
end
|
#valid_pattern? ⇒ Boolean
24
25
26
|
# File 'lib/number_plate/sg/validator.rb', line 24
def valid_pattern?
0 == (/^[A-Z]{1,3}[1-9]{1}\d{0,3}[A-Z]$/ =~ @license)
end
|