module CheckDigit::Damm
Constants
- D
Public Class Methods
checksum(num)
click to toggle source
# File lib/check_digit/damm.rb, line 2 def self.checksum(num) CheckDigit::Util.valid_arg(num) num.to_i * 10 + calc(num) end
valid?(num)
click to toggle source
# File lib/check_digit/damm.rb, line 7 def self.valid?(num) CheckDigit::Util.valid_arg(num) calc(num.to_s[0..-2]) == num % 10 end
Private Class Methods
calc(num)
click to toggle source
# File lib/check_digit/damm.rb, line 26 def self.calc(num) i = 0 num.to_s.each_char {|c| i = D[i][c.to_i] } i end