class SocialSecurityNumber::Fr
SocialSecurityNumber::Fr
validates France INSEE code en.wikipedia.org/wiki/National_identification_number#France
Constants
- REGEXP
Public Instance Methods
validate()
click to toggle source
# File lib/social_security_number/country/fr.rb, line 5 def validate @error = if !check_by_regexp(REGEXP) 'bad number format' elsif !check_control_sum 'number control sum invalid' end end
Private Instance Methods
check_control_sum()
click to toggle source
# File lib/social_security_number/country/fr.rb, line 17 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/fr.rb, line 21 def count_last_number number = @civil_number[0..12] department = @civil_number[5..6] if department == '2A' number = ("#{@civil_number[0..4]}19#{@civil_number[7..12]}") elsif department == '2B' number = ("#{@civil_number[0..4]}18#{@civil_number[7..12]}") end 97 - (number.to_i % 97) end