23 lines
351 B
Ruby
23 lines
351 B
Ruby
class Shop
|
|
class DuplicateProductIdError < StandardError; end
|
|
def initialize
|
|
@products = []
|
|
end
|
|
|
|
def products
|
|
@products
|
|
end
|
|
|
|
def add_product(product)
|
|
raise DuplicateProductIdError if duplicate_id?(product.id)
|
|
|
|
@products.push(product)
|
|
end
|
|
|
|
private
|
|
|
|
def duplicate_id?(id)
|
|
@products.map(&:id).include?(id)
|
|
end
|
|
end
|