State Machines

State machine

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

Rubygem state_machine

Total Downloads
6240320
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
2240999
Releases
75
Current Version
4.8.0
Released
2016-02-05 00:00:00 UTC
First Release
2008-04-29 07:00:00 UTC

Github aasm/aasm

Watchers
2217
Forks
350
Development activity
Very active
Last commit
2016-02-07 16:57:18 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
482680
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
1217
Forks
154
Development activity
Inactive
Last commit
2016-01-01 11:02:50 UTC

statesman

A statesmanlike state machine library

Rubygem statesman

Total Downloads
110925
Releases
28
Current Version
2.0.0
Released
2016-01-06 00:00:00 UTC
First Release
2013-10-28 00:00:00 UTC

Github gocardless/statesman

Watchers
673
Forks
73
Development activity
Less active
Last commit
2016-01-17 13:32:36 UTC
First commit

Transitions

Lightweight state machine extracted from ActiveModel

Rubygem transitions

Total Downloads
226281
Releases
32
Current Version
1.0.1
Released
2016-02-05 00:00:00 UTC
First Release
2010-03-13 23:00:00 UTC
Depending Gems
6

Github troessner/transitions

Watchers
455
Forks
85
Development activity
Active
Last commit
2016-02-05 22:53:36 UTC

Ruote

ruote is an open source Ruby workflow engine

Rubygem ruote

Total Downloads
55641
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
502
Forks
83
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
338931
Releases
14
Current Version
2.0.0
Released
2015-11-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
50673
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
121
Forks
39
Development activity
Inactive
Last commit
2015-07-07 12:35:22 UTC
First commit

Rubygem simple_states

Total Downloads
75942
Releases
27
Current Version
1.1.0.rc10
Released
2015-10-10 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
78
Forks
11
Development activity
Less active
Last commit
2016-02-05 23:20:59 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
10137
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
55
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
29170
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
32
Forks
4
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
13384
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

status-manager

ActiveRecord Model Status Manager

Rubygem status-manager

Total Downloads
7336
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
2
Development activity
Inactive
Last commit
2015-03-01 13:56:21 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
4091
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
13
Forks
1
Development activity
Inactive
Last commit
2015-12-18 17:30:52 UTC
First commit
Top contributors
Contributors
1
Issues

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
7897
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

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
12604
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.