class Valvat::Checksum::LT
Public Instance Methods
check_digit()
click to toggle source
# File lib/valvat/checksum/lt.rb, line 6 def check_digit base_checksum = sum_with(0) % 11 shifted_checksum = sum_with(2) % 11 [base_checksum, shifted_checksum, 0].find { |checksum| checksum % 11 != 10 } end
Private Instance Methods
sum_with(offset)
click to toggle source
# File lib/valvat/checksum/lt.rb, line 15 def sum_with(offset) sum_figures_by do |digit, index| multi_digit_multiplier = figures.size - index + offset digit * (multi_digit_multiplier > 9 ? multi_digit_multiplier % 9 : multi_digit_multiplier) end end