class GS1::Record

Base class for a GS1 record.

Attributes

data[R]

Public Class Methods

ai() click to toggle source
# File lib/gs1/record.rb, line 22
def ai
  self::AI
end
inherited(subclass) click to toggle source
# File lib/gs1/record.rb, line 18
def inherited(subclass)
  descendants << subclass
end
new(data) click to toggle source
# File lib/gs1/record.rb, line 10
def initialize(data)
  @data = data
end
underscore_name() click to toggle source
# File lib/gs1/record.rb, line 26
def underscore_name
  name.split('::')
      .last
      .gsub(/([A-Z]+)([A-Z][a-z])/, '\1_\2')
      .gsub(/([a-z\d])([A-Z])/, '\1_\2')
      .tr('-', '_')
      .downcase
      .to_sym
end

Public Instance Methods

==(other) click to toggle source
# File lib/gs1/record.rb, line 51
def ==(other)
  self.class.equal?(other.class) &&
    to_s.eql?(other.to_s)
end
ai() click to toggle source
# File lib/gs1/record.rb, line 37
def ai
  self.class.ai
end
to_ai() click to toggle source
# File lib/gs1/record.rb, line 45
def to_ai
  return unless to_s

  ai + to_s
end
to_s() click to toggle source
# File lib/gs1/record.rb, line 41
def to_s
  data&.to_s
end