module UcStudentNumber
UcStundentMo dule
Constants
- VERSION
Public Class Methods
validate(number)
click to toggle source
# File lib/uc_student_number.rb, line 5 def self.validate(number) return false if !number || number.to_s.length < 7 number = number.to_s.strip given_digits = number.reverse[1..-1].split('').map(&:to_i) given_verification = number.reverse[0].upcase get_verification_digit(given_digits) == given_verification end
Private Class Methods
get_verification_digit(digits)
click to toggle source
# File lib/uc_student_number.rb, line 13 def self.get_verification_digit(digits) counter = 2 sum = 0 digits.each do |digit| sum += (digit * counter) counter += 1 counter = counter > 8 ? 2 : counter end ((11 - sum) % 11 != 10) ? ((11 - sum) % 11).to_s : 'J' end