class Shop class DuplicateProductIdError < StandardError; end def initialize @products = [] end def products @products end def add_product(product) raise DuplicateProductIdError if product_by_id(product.id) @products.push(product) end def product_by_id(id) @products.find { |product| product.id == id } end end