Class: BarcodeValidation::GTIN

Inherits:
DigitSequence show all
Extended by:
Forwardable
Includes:
Mixin::HasCheckDigit
Defined in:
lib/barcodevalidation/gtin.rb

Defined Under Namespace

Classes: CheckDigit

Constant Summary collapse

VALID_LENGTHS =
[8, 12, 13, 14].freeze

Constants included from Mixin::HasCheckDigit

Mixin::HasCheckDigit::MODULUS

Constants inherited from DigitSequence

DigitSequence::ArgumentError

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Mixin::HasCheckDigit

#check_digit

Methods inherited from DigitSequence

#==, cast, #initialize, memoization_key

Methods included from Mixin::ValueObject

#eql?, included, #inspect, #pretty_print

Constructor Details

This class inherits a constructor from BarcodeValidation::DigitSequence

Class Method Details

.new(input) ⇒ Object



10
11
12
13
14
# File 'lib/barcodevalidation/gtin.rb', line 10

def self.new(input)
  super
rescue BarcodeValidation::Error => e
  return InvalidGTIN.new(input, error: e)
end

Instance Method Details

#valid?Boolean

Returns:

  • (Boolean)


16
17
18
# File 'lib/barcodevalidation/gtin.rb', line 16

def valid?
  VALID_LENGTHS.include?(length) && check_digit.valid?
end