ActsAsStateMachineHacked ======================== Two changes to the acts_as_state_machine plugin: 1) Added method current_events so that you can get a list of events (transitions) available for a record in its current state. 2) Patched the Event#fire method so that if you try to invoke an event that is not available an exception is thrown instead of failing silently. Example ======= user = User.first user.current_events # => :active user.current_events # => [:suspend, :delete] user.activate! # => RuntimeError: Cannot invoke event activate on User:2 since it is not available in state active Copyright (c) 2008 Peter Marklund (http://marklunds.com), released under the MIT license