State Machines

State machine

Adds support for creating state machines for attributes on any Ruby class

Rubygem state_machine

Total Downloads
5493458
Releases
44
Current Version
1.2.0
Released
2013-03-30 00:00:00 UTC
First Release
2008-05-05 04:00:00 UTC

Github pluginaweek/state_machine

Watchers
2839
Forks
292
Development activity
Inactive
Last commit
2013-05-07 12:40:11 UTC

AASM

AASM is a continuation of the acts-as-state-machine rails plugin, built for plain Ruby objects.

Rubygem aasm

Total Downloads
1849180
Releases
66
Current Version
4.2.0
Released
2015-06-23 00:00:00 UTC
First Release
2008-04-29 07:00:00 UTC

Github aasm/aasm

Watchers
1971
Forks
304
Development activity
Less active
Last commit
2015-09-01 03:11:34 UTC

Workflow

Workflow is a finite-state-machine-inspired API for modeling and interacting with what we tend to refer to as 'workflow'. * nice DSL to describe your states, events and transitions * robust integration with ActiveRecord and non relational data stores * various hooks for single transitions, entering state etc. * convenient access to the workflow specification: list states, possible events for particular state

Rubygem workflow

Total Downloads
406180
Releases
19
Current Version
1.2.0
Released
2014-10-20 00:00:00 UTC
First Release
2009-04-24 22:00:00 UTC

Github geekq/workflow

Watchers
1169
Forks
145
Development activity
Less active
Last commit
2015-08-10 19:22:19 UTC

Transitions

Lightweight state machine extracted from ActiveModel

Rubygem transitions

Total Downloads
206087
Releases
30
Current Version
0.2.1
Released
2015-08-20 00:00:00 UTC
First Release
2010-03-13 23:00:00 UTC
Depending Gems
6

Github troessner/transitions

Watchers
448
Forks
85
Development activity
Less active
Last commit
2015-08-26 14:28:19 UTC

statesman

A statesmanlike state machine library

Rubygem statesman

Total Downloads
76094
Releases
26
Current Version
1.2.4
Released
2015-06-16 00:00:00 UTC
First Release
2013-10-28 00:00:00 UTC

Github gocardless/statesman

Watchers
608
Forks
62
Development activity
Less active
Last commit
2015-08-27 13:27:14 UTC
First commit

Ruote

ruote is an open source Ruby workflow engine

Rubygem ruote

Total Downloads
51794
Releases
19
Current Version
2.3.0.3
Released
2013-11-20 00:00:00 UTC
First Release
2008-05-21 15:00:00 UTC

Github jmettraux/ruote

Watchers
488
Forks
79
Development activity
Inactive
Last commit
2015-07-24 21:15:58 UTC

micromachine

There are many finite state machine implementations for Ruby, and they all provide a nice DSL for declaring events, exceptions, callbacks, and all kinds of niceties in general. But if all you want is a finite state machine, look no further: this has less than 50 lines of code and provides everything a finite state machine must have, and nothing more.

Rubygem micromachine

Total Downloads
273548
Releases
13
Current Version
1.2.0
Released
2015-03-03 00:00:00 UTC
First Release
2009-03-07 02:00:00 UTC
Depends on following gems
Depending Gems
6

Github soveran/micromachine

Watchers
246
Forks
23
Development activity
Inactive
Last commit
2015-01-09 18:50:21 UTC
Contributors
7
Issues

stateflow

State machine that allows dynamic transitions for business workflows

Rubygem stateflow

Total Downloads
46355
Releases
16
Current Version
0.5.0.beta
Released
2011-04-07 22:00:00 UTC
First Release
2010-03-21 22:00:00 UTC
Depends on following gems
Depending Gems
2

Github ryanza/stateflow

Watchers
120
Forks
39
Development activity
Inactive
Last commit
2015-07-07 12:35:22 UTC
First commit

Rubygem simple_states

Total Downloads
67415
Releases
16
Current Version
1.0.1
Released
2014-01-23 00:00:00 UTC
First Release
2011-08-04 00:00:00 UTC
Depends on following gems
Depending Gems
1

Github svenfuchs/simple_states

Watchers
76
Forks
9
Development activity
Inactive
Last commit
2015-09-02 09:40:39 UTC

Alter-ego

AlterEgo is a Ruby implementation of the State pattern as described by the Gang of Four. It differs from other Ruby state machine libraries in that it focuses on providing polymorphic behavior based on object state. In effect, it makes it easy to give an object different personalities depending on the state it is in.

Rubygem alter-ego

Total Downloads
9633
Releases
2
Current Version
1.0.1
Released
2009-07-19 04:00:00 UTC
First Release
2008-11-28 05:00:00 UTC
Depends on following gems
Depending Gems
4

Github avdi/alter-ego

Watchers
54
Forks
7
Development activity
Inactive
Last commit
2012-07-02 04:48:47 UTC
Top contributors
Contributors
4
Issues

simple_state_machine

A simple DSL to decorate existing methods with state transition guards.

Rubygem simple_state_machine

Total Downloads
26437
Releases
20
Current Version
0.6.0
Released
2011-11-17 23:00:00 UTC
First Release
2010-06-27 22:00:00 UTC
Depends on following gems
Depending Gems
0

Github mdh/ssm

Watchers
29
Forks
5
Development activity
Inactive
Last commit
2014-10-01 10:50:13 UTC
Top contributors
p8, mdh, and redmar
Contributors
3
Issues

State-fu

A rich library for state-oriented programming with state machines / workflows

Rubygem state-fu

Total Downloads
12265
Releases
8
Current Version
0.13.5
Released
2010-01-07 13:00:00 UTC
First Release
2009-08-25 17:00:00 UTC
Depends on following gems
Depending Gems
0

Github davidlee/state-fu

Watchers
35
Forks
1
Development activity
Inactive
Last commit
2012-06-28 01:18:11 UTC
Top contributors
Contributors
1
Issues
Wiki pages

state_objects

'State' Design Pattern from the Gang of Four book. Many other state machines focus on events and transitions. This state machine focuses on behavior and reducing conditional logic.

Rubygem state_objects

Total Downloads
6546
Releases
9
Current Version
0.9.2
Released
2015-08-19 00:00:00 UTC
First Release
2012-10-25 00:00:00 UTC
Depends on following gems
Depending Gems
0

Github mwindholtz/state_objects

Watchers
12
Forks
0
Development activity
Inactive
Last commit
2015-08-19 16:08:58 UTC
First commit
Top contributors
Contributors
1
Issues

golem_statemachine

Adds finite state machine behaviour to Ruby classes. Meant as an alternative to acts_as_state_machine/AASM.

Rubygem golem_statemachine

Total Downloads
3591
Releases
3
Current Version
1.1.0.pre2
Released
2012-02-13 05:00:00 UTC
First Release
2011-04-28 00:00:00 UTC
Depends on following gems
Depending Gems
0

Github zuk/golem_statemachine

Watchers
10
Forks
1
Development activity
Inactive
Last commit
2015-07-06 19:52:46 UTC
First commit
Top contributors
Contributors
1
Issues

status-manager

ActiveRecord Model Status Manager

Rubygem status-manager

Total Downloads
5765
Releases
9
Current Version
0.9.0
Released
2014-12-29 00:00:00 UTC
First Release
2013-07-15 00:00:00 UTC
Depends on following gems
Depending Gems
0

Github keepcosmos/status-manager

Watchers
7
Forks
1
Development activity
Inactive
Last commit
2015-03-01 13:56:21 UTC
First commit
Top contributors
Contributors
1
Issues

Stamina

Stamina is an automaton and regular inference toolkit initially developped for the baseline of the Stamina Competition (stamina.chefbe.net).

Rubygem stamina

Total Downloads
11255
Releases
10
Current Version
0.6.1
Released
2012-10-16 00:00:00 UTC
First Release
2011-03-23 23:00:00 UTC
Depends on following gems
Depending Gems
0

Github blambeau/stamina

Watchers
4
Forks
0
Development activity
Inactive
Last commit
2012-10-16 07:18:42 UTC
Top contributors
Contributors
1
Issues
×

In order to continue, you must be signed in using your Github account.

If you're signing in using this account for the first time Github will ask for your permission to give access to your public user data to the Ruby Toolbox.

Although the Github Authorization page does not mention it, the request includes read-only access to your verified email address (user:email OAuth scope). This is neccessary so there's a way to notify you about comments, information about your accepted project edits and the like. You can review your notification settings on your account page once you're signed in.