module Validatr::Damm
Constants
- TASQ
Totally Anti-Symmetric Quasigroup
Public Class Methods
check_digit(number)
click to toggle source
Generates the check digit for a number
# File lib/validatr/damm.rb, line 27 def self.check_digit(number) encode number end
encode(number)
click to toggle source
# File lib/validatr/damm.rb, line 31 def self.encode(number) digits = digits_from_number(number) i = 0 digits.map { |c| i = TASQ[i][c] } i end
valid?(number)
click to toggle source
Returns true if a number is a valid Damm
number, false otherwise
# File lib/validatr/damm.rb, line 22 def self.valid?(number) encode(number).zero? end