Skip to content

Instantly share code, notes, and snippets.

@yashke
Created February 17, 2010 10:18
Show Gist options
  • Save yashke/306488 to your computer and use it in GitHub Desktop.
Save yashke/306488 to your computer and use it in GitHub Desktop.
class Order < ActiveRecord::Base
belongs_to :user
has_many :items, :class_name => "OrderItem"
state_machine :state, :initial => :unordered do
event :prepare_to_order do
transition :unordered => :to_order
end
state :unordered
state :to_order do
validates_presence_of :email
validates_presence_of :firstname
validates_presence_of :lastname
validates_presence_of :street
validates_presence_of :city
validates_presence_of :postcode
end
state :to_pay
state :paid
state :confirmed
state :pending
state :in_producer
state :with_courier
end
state_machine :dotpay_state, :initial => :dotpay_null, :namespace => :dotpay do
state :dotpay_null
state :dotpay_new
state :dotpay_done
state :dotpay_rejected
state :dotpay_canceled
state :dotpay_complaint
end
def destroy_order_item(id)
self.items.find(id).destroy
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment