Module: Carter::StateMachine::CartItem::ClassMethods

Defined in:
lib/carter/state_machine.rb

Instance Method Summary collapse

Instance Method Details

#init_statesObject



51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# File 'lib/carter/state_machine.rb', line 51

def init_states
  
  state_machine :state, :initial => :in_cart do
    state :in_cart, :processing, :failure, :purchased
    event :add_to_owner do 
      transition [:in_cart] => :processing
    end
  
    event :succeeded do
      transition :processing => :purchased
    end
  
    event :failed do
      transition :processing => :failure
    end
    
    after_transition :on => :add_to_owner, :do => :on_purchase
  end
end