class Valvat::Checksum::DE

Constants

M
N

Public Instance Methods

check_digit() click to toggle source
# File lib/valvat/checksum/de.rb, line 9
def check_digit
  prod = M
  figures.each do |fig|
    sum = (prod + fig).modulo(M)
    sum = M if sum.zero?
    prod = (2 * sum).modulo(N)
  end
  chk = N - prod
  chk == 10 ? 0 : chk
end