public
Description: An extendable, cloneable, dynamic UML 2 StateMachine for Ruby
Homepage: http://kurtstephens.com
Clone URL: git://github.com/kstephens/red_steak.git
name age message
file .gitignore Sun May 03 04:47:26 -0700 2009 Use Echoe to simplify Rakefile. TODO: Move test... [kstephens]
file Manifest Tue May 05 09:26:05 -0700 2009 Fixed issue with Builder augmentation; force un... [kstephens]
file README.txt Thu Apr 30 00:34:16 -0700 2009 Prelim support for hoe; added :docs task until ... [kstephens]
file Rakefile Tue May 05 09:26:05 -0700 2009 Fixed issue with Builder augmentation; force un... [kstephens]
file TODO Sat May 02 17:56:28 -0700 2009 Added Machine#state_is_active? for superstate q... [kstephens]
directory example/ Sat May 02 17:56:28 -0700 2009 Added Machine#state_is_active? for superstate q... [kstephens]
file init.rb Thu Jan 15 09:38:40 -0800 2009 Added init.rb as Rails plugin. [Kurt Stephens]
file install.rb Thu Jan 15 09:38:40 -0800 2009 Added init.rb as Rails plugin. [Kurt Stephens]
directory lib/ Fri May 08 22:29:02 -0700 2009 Improved logging of behavior callbacks. [kstephens]
file rake_helper.rb Thu Apr 30 15:09:28 -0700 2009 Changes to support CNU p4. [kstephens]
directory spec/ Tue May 05 17:44:42 -0700 2009 Improved Dot rendering; support for #trigger ==... [kstephens]
directory test/ Fri May 08 13:54:10 -0700 2009 Error#inspect now has newlines to aid human com... [kstephens]
README.txt
RedSteak - a clonable, mutable UML 2 StateMachine for Ruby.

Features:

* Implements UML 2.1 StateMachines (partially).
* StateMachines can be instantiated then cloned via StateMachine#copy.
* Submachines are supported, a state may have an imbedded StateMachine.
* Builder DSL simplifies construction of complex statemachines.
* StateMachines can be serialized.
* StateMachines can be modified on-the-fly.
* Context objects can be notfied of transitions.
* Context objects can be used to create transition guards.
* StateMachines, States and Transitions are objects that can be extended with metadata.
* History of transitions can be kept.
* Multiple machines can walk the same statemachine without side-effects.
* StateMachines and their transition history can be rendered as Dot syntax.