class SocialSecurityNumber::Be
SocialSecurityNumber::Be
validates Belgium National Register Number (Rijksregisternummer) en.wikipedia.org/wiki/National_identification_number#Belgium
Constants
- REGEXP
Public Instance Methods
gender()
click to toggle source
# File lib/social_security_number/country/be.rb, line 17 def gender @gender = @individual.to_i.odd? ? :male : :female end
validate()
click to toggle source
# File lib/social_security_number/country/be.rb, line 5 def validate @error = if !check_by_regexp(REGEXP) 'bad number format' elsif !(1..997).member?(@individual.to_i) 'individual number is invalid' elsif !birth_date && @month.to_i != 0 && @day.to_i != 0 'number birth date is invalid' 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/be.rb, line 25 def check_control_sum count_last_number == @control_number.to_i || count_last_number('2') == @control_number.to_i end
count_last_number(number = '0')
click to toggle source
# File lib/social_security_number/country/be.rb, line 29 def count_last_number(number = '0') 97 - (("#{number}#{@year}#{@month}#{@day}#{@individual}").to_i % 97) end