Sha256: 17dcebf47ef9674240890805232c4912f1585e69f41530d761134952065ca9c5

Contents?: true

Size: 426 Bytes

Versions: 7

Compression:

Stored size: 426 Bytes

Contents

module GS1
  module Validations
    # Ensures correct check digit validation.
    #
    module CheckDigitValidation
      def validate_check_digit
        errors << 'Check digit mismatch' unless valid_check_digit?
      end

      def valid_check_digit?
        return false unless data

        GS1::CheckDigitCalculator.with_sequence(data[0..-2]) == data
      rescue ArgumentError
        false
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
gs1-1.1.0 lib/gs1/validations/check_digit_validation.rb
gs1-1.0.0 lib/gs1/validations/check_digit_validation.rb
gs1-0.1.8 lib/gs1/validations/check_digit_validation.rb
gs1-0.1.7 lib/gs1/validations/check_digit_validation.rb
gs1-0.1.6 lib/gs1/validations/check_digit_validation.rb
gs1-0.1.5 lib/gs1/validations/check_digit_validation.rb
gs1-0.1.3 lib/gs1/validations/check_digit_validation.rb