class SocialSecurityNumber::Ch

SocialSecurityNumber::Ch validates Swiss social security numbers en.wikipedia.org/wiki/National_identification_number#Switzerland de.wikipedia.org/wiki/Sozialversicherungsnummer#Versichertennummer www.sozialversicherungsnummer.ch/aufbau-neu.htm

Constants

CONTROLCIPHERS
INV_REGEXP
MODULUS
REGEXP

Public Instance Methods

validate() click to toggle source
# File lib/social_security_number/country/ch.rb, line 7
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/ch.rb, line 24
def check_control_sum
  count_last_number.to_i == @control_number.to_i
end
count_last_number() click to toggle source
# File lib/social_security_number/country/ch.rb, line 28
def count_last_number
  sum = calc_sum(digit_number[0..11], CONTROLCIPHERS)
  modus = sum % MODULUS
  modus > 0 ? 10 - modus : modus
end