class ProductInCheckout def initialize(product:, quantity: 0) @product = product @quantity = quantity end def product_id @product.id end def quantity @quantity end def add_quantity(quantity) @quantity += quantity end def remove_quantity(quantity) @quantity = [@quantity - quantity, 0].max end def total (@product.price * quantity) - @product.discount.discount_for_quantity(@quantity) end end