End chapter 10
[depot.git] / app / models / order.rb
index 0bcb15832b5dac818b8b163a3bd33e4f8073042a..bea4da6c367ca64ffc28bd46b63ad68769677126 100644 (file)
@@ -1,2 +1,20 @@
 class Order < ActiveRecord::Base
+  has_many :line_items
+
+  PAYMENT_TYPES = [
+    ["Cheque",          "cheque"],
+    ["Credit card",     "cc"],
+    ["Purchase order",  "po"]
+  ]
+
+  validates_presence_of :name, :address, :email, :pay_type
+  validates_inclusion_of :pay_type, :in =>
+    PAYMENT_TYPES.map {|disp, value| value}
+
+  def add_line_items_from_cart(cart)
+    cart.items.each do |item|
+      li = LineItem.from_cart_item(item)
+      line_items << li
+    end
+  end
 end