Sha256: cf2f5c4bae624e70b8d8aa0247d8c9ceb5b49125885e12306f12d989b1a4b051
Contents?: true
Size: 458 Bytes
Versions: 2
Compression:
Stored size: 458 Bytes
Contents
module VESR class ValidationDigitCalculator # Defined at http://www.pruefziffernberechnung.de/E/Einzahlungsschein-CH.shtml ESR9_TABLE = [0, 9, 4, 6, 8, 2, 7, 1, 3, 5] def self.call(value) value = value.to_s digit = 0 value.split('').each do |char| current_digit = digit + char.to_i digit = ESR9_TABLE[current_digit % 10] end digit = (10 - digit) % 10 "#{value}#{digit}" end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
vesr-1.1.1 | lib/vesr/validation_digit_calculator.rb |
vesr-1.1.0 | lib/vesr/validation_digit_calculator.rb |