module NumberPlate::SG::Checksum
Constants
- CHECK_SUM
- MULTIPLIER
Public Instance Methods
checksum()
click to toggle source
# File lib/number_plate/sg/checksum.rb, line 7 def checksum get_checksum_from_numbers(numbers) end
get_checksum_from_numbers(numbers)
click to toggle source
# File lib/number_plate/sg/checksum.rb, line 27 def get_checksum_from_numbers(numbers) checksum_array = [] numbers.zip(MULTIPLIER) { |x, y| checksum_array << (x * y) } checksum_key = checksum_array.reduce(:+) % 19 CHECK_SUM[checksum_key] end
numbers()
click to toggle source
# File lib/number_plate/sg/checksum.rb, line 11 def numbers numbers = [] @letters.split(//).each do |alphebat| numbers << (alphebat.ord - 64) end if numbers.length == 3 numbers = numbers[1,2] elsif numbers.length == 1 numbers = [1] + numbers end numerals = ("000" + @numerals)[-4,4] numbers + numerals.split(//).map(&:to_i) end