class SocialSecurityNumber::Lt
SocialSecurityNumber::Lt
validates Lithuania Personal Code (Asmens kodas) en.wikipedia.org/wiki/National_identification_number#Lithuania
Constants
- CONTROLCIPHERS_1
- CONTROLCIPHERS_2
- MODULUS
- REGEXP
Public Instance Methods
validate()
click to toggle source
# File lib/social_security_number/country/lt.rb, line 5 def validate @error = if !check_digits 'it is not number' elsif !check_length(11) 'number should be length of 11' elsif @parsed_civil_number[:gnd].to_i > 6 'gender number is not recognized' elsif !birth_date 'number birth date is invalid' elsif !check_control_sum 'number control sum invalid' end end
year()
click to toggle source
# File lib/social_security_number/country/lt.rb, line 19 def year if @parsed_civil_number base = case @parsed_civil_number[:gnd].to_i when 1..2 then 1800 when 3..4 then 1900 when 5..6 then 2000 else 0 end @year = base + @parsed_civil_number[:year].to_i else 0 end end
Private Instance Methods
check_control_sum()
click to toggle source
# File lib/social_security_number/country/lt.rb, line 43 def check_control_sum count_last_number == @control_number.to_i end
count_last_number()
click to toggle source
# File lib/social_security_number/country/lt.rb, line 47 def count_last_number sum = calc_sum(@civil_number[0..9], CONTROLCIPHERS_1) last_number = sum % MODULUS return last_number if last_number < 10 sum = calc_sum(@civil_number[0..9], CONTROLCIPHERS_2) last_number = sum % MODULUS return last_number if last_number < 10 0 end