Sha256: 8cf08c4a0b2cca3ab81d766e0523592cff56bb85e1b254b5dad351c3fe226013
Contents?: true
Size: 553 Bytes
Versions: 1
Compression:
Stored size: 553 Bytes
Contents
require 'valvat/checksum' class Valvat module Checksum class IT < Base def validate # IT02762750210 y = figures_str[7..9].to_i y >= 1 && (y <= 100 || [120, 121].include?(y)) && figures_str[0..6] != "0000000" && super end def check_digit chk = 10 - figures.reverse.each_with_index.map do |fig, i| (fig*(i.modulo(2) == 0 ? 2 : 1)).to_s.split("").inject(0) { |sum, n| sum + n.to_i } end.inject(:+).modulo(10) chk == 10 ? 0 : chk end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
valvat-0.5.0 | lib/valvat/checksum/it.rb |