class Bookland::EAN

Constants

WEIGHTS

Public Class Methods

calculate_checksum_digit(digits) click to toggle source
# File lib/bookland/ean.rb, line 5
def self.calculate_checksum_digit(digits)
  sum = digits.map(&:to_i).zip(WEIGHTS).reduce(0) { |a, (i, j)| a + i * j }
  ((10 - sum % 10) % 10).to_s
end

Public Instance Methods

valid?() click to toggle source
Calls superclass method
# File lib/bookland/ean.rb, line 10
def valid?
  digits.size == 13 && super
end