Sha256: 6be608c8df8e18ec55240c1292c8e85a59950bf6397bdcd24e1778a9b66a2cf9

Contents?: true

Size: 341 Bytes

Versions: 16

Compression:

Stored size: 341 Bytes

Contents

class Valvat
  module Checksum
    class DE < Base
      M = 10
      N = 11

      def check_digit
        prod = M
        figures.each do |fig|
          sum = (prod + fig).modulo(M)
          sum = M if sum == 0
          prod = (2*sum).modulo(N)
        end
        chk = N - prod
        chk == 10 ? 0 : chk
      end
    end
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
valvat-1.0.1 lib/valvat/checksum/de.rb
valvat-1.0.0 lib/valvat/checksum/de.rb
valvat-0.9.1 lib/valvat/checksum/de.rb
valvat-0.9.0 lib/valvat/checksum/de.rb
valvat-0.8.2 lib/valvat/checksum/de.rb
valvat-0.8.1 lib/valvat/checksum/de.rb
valvat-0.8.0 lib/valvat/checksum/de.rb
valvat-0.7.4 lib/valvat/checksum/de.rb
valvat-0.7.3 lib/valvat/checksum/de.rb
valvat-0.7.2 lib/valvat/checksum/de.rb
valvat-0.7.1 lib/valvat/checksum/de.rb
valvat-0.7.0 lib/valvat/checksum/de.rb
valvat-0.6.11 lib/valvat/checksum/de.rb
valvat-0.6.10 lib/valvat/checksum/de.rb
valvat-0.6.9 lib/valvat/checksum/de.rb
valvat-0.6.8 lib/valvat/checksum/de.rb