module Sjekksum::Primitive97
Module for calculation and validation of Primitive97
checksums
This primitive checksum is based on the modulo 97 (calculation of check digits) and modulo 9 (reduction to a single digit).
Public Instance Methods
convert(number)
click to toggle source
Transforms a number by appending the Primitive97
checksum digit
@example
Sjekksum::Primitive97.convert(23569) #=> 235695
@param number [Integer, String] number without a checksum
@return [Integer, String] final number including the checksum
# File lib/sjekksum/primitive97.rb, line 51 def convert number raise_on_type_mismatch number typed_conversion number end
Also aliased as: transform
of(number)
click to toggle source
Calculates Primitive97
checksum
@example
Sjekksum::Primitive97.of(23569) #=> 5
@param number [Integer, String] number for which the checksum should be calculated
@return [Integer] calculated checksum
# File lib/sjekksum/primitive97.rb, line 20 def of number raise_on_type_mismatch number (convert_to_int(number) % 97) % 9 end
Also aliased as: checksum
valid?(number)
click to toggle source
Primitive97
validation of provided number
@example
Sjekksum::Primitive97.valid?(235695) #=> true
@param number [Integer, String] number with included checksum
@return [Boolean]
# File lib/sjekksum/primitive97.rb, line 35 def valid? number raise_on_type_mismatch number num, check = split_number(number) self.of(num) == check end
Also aliased as: is_valid?