class PLU

Constants

VERSION

Public Class Methods

all() click to toggle source
# File lib/plu.rb, line 28
def self.all
  @all ||= JSON.load_file(File.expand_path("../plu_codes.json", __dir__))
end
new(number) click to toggle source
# File lib/plu.rb, line 8
def initialize(number)
  @number = number.to_s
end

Public Instance Methods

name() click to toggle source
# File lib/plu.rb, line 16
def name
  self.class.all[base]
end
organic?() click to toggle source
# File lib/plu.rb, line 20
def organic?
  modifier == "9"
end
retailer_assigned?() click to toggle source
# File lib/plu.rb, line 24
def retailer_assigned?
  name.to_s.start_with?("Retailer Assigned")
end
valid?() click to toggle source
# File lib/plu.rb, line 12
def valid?
  /\A[89]?[34]\d{3}\z/.match(@number)
end

Protected Instance Methods

base() click to toggle source
# File lib/plu.rb, line 34
def base
  @number[-4..-1]
end
modifier() click to toggle source
# File lib/plu.rb, line 38
def modifier
  @number[-5]
end