Sha256: ab4f80960349efe2993d905dc3a4543fa4899c469ba35619ba116f2e4ff00ce4

Contents?: true

Size: 298 Bytes

Versions: 9

Compression:

Stored size: 298 Bytes

Contents

require 'valvat/checksum'

class Valvat
  module Checksum
    class FI < Base
      def check_digit
        weight = [7, 9, 10, 5, 8, 4, 2]
        chk = 11 - figures.map do |fig|
          fig * weight.shift
        end.inject(:+).modulo(11)
        chk == 11 ? 0 : chk
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
valvat-0.6.7 lib/valvat/checksum/fi.rb
valvat-0.6.6 lib/valvat/checksum/fi.rb
valvat-0.6.5 lib/valvat/checksum/fi.rb
valvat-0.6.4 lib/valvat/checksum/fi.rb
valvat-0.6.3 lib/valvat/checksum/fi.rb
valvat-0.6.2 lib/valvat/checksum/fi.rb
valvat-0.6.1 lib/valvat/checksum/fi.rb
valvat-0.6.0 lib/valvat/checksum/fi.rb
valvat-0.5.0 lib/valvat/checksum/fi.rb