# Les items ligne (ou articles) relient les produits à la commande
# (et avant celà au panier). Comme le prix d'un produit peut changer
# àprès qu'une commande ait été passée, les items ligne contiennent
# une copie du prix du produit tel qu'il  était au moment de la
# commande.

class LineItem < ActiveRecord::Base

  belongs_to :product
  belongs_to :order

  # Renvoie un nouvel objet LineItem étant donné un objet Product.
  def self.for_product(product)
    item = self.new
    item.quantity   = 1
    item.product    = product
    item.unit_price = product.price
    item
  end
end
