class SocialSecurityNumber::Cz

SocialSecurityNumber::Cz validates Czech birth numbers en.wikipedia.org/wiki/National_identification_number#Czech_Republic_and_Slovakia www.npmjs.com/package/rodnecislo lorenc.info/3MA381/overeni-spravnosti-rodneho-cisla.htm

Constants

DATE_REGEXP
MODULUS
REGEXP

Public Instance Methods

gender() click to toggle source
# File lib/social_security_number/country/cz.rb, line 17
def gender
  @gender = @parsed_civil_number[:month].to_i > 32 ? :famale : :male
end
month() click to toggle source
# File lib/social_security_number/country/cz.rb, line 21
def month
  @month = (@parsed_civil_number[:month].to_i % 50) % 20
end
validate() click to toggle source
# File lib/social_security_number/country/cz.rb, line 7
def validate
  @error = if !check_by_regexp(REGEXP)
             'bad number format'
           elsif !birth_date
             '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/cz.rb, line 32
def check_control_sum
  if @control_number.to_s != ''
    count_last_number == @control_number.to_i ||
      (count_last_number == 10 &&
        @control_number.to_i.zero? && @year < 1986)
  else
    true
  end
end
count_last_number() click to toggle source
# File lib/social_security_number/country/cz.rb, line 42
def count_last_number
  digit_number[0..8].to_i % MODULUS
end