state_machines VS Statesman

Compare state_machines vs Statesman and see what are their differences.

state_machines

Adds support for creating state machines for attributes on any Ruby class (by state-machines)

Statesman

A statesmanlike state machine library. (by gocardless)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
state_machines Statesman
5 3
795 1,727
1.1% 1.5%
3.3 7.3
3 days ago 7 days ago
Ruby Ruby
MIT License MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

state_machines

Posts with mentions or reviews of state_machines. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-01-21.

Statesman

Posts with mentions or reviews of Statesman. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-01-22.
  • Why Developers Never Use State Machines (2011)
    2 projects | news.ycombinator.com | 22 Jan 2023
    I’d strongly recommend Statesman instead: https://gocardless.com/blog/statesman/

    I’m unaffiliated, just have used a lot of Ruby SM libraries.

  • State Machines in Ruby: An Introduction
    1 project | news.ycombinator.com | 23 Jun 2022
    Honestly state machines are fantastic in Rails too. My last company built [Statesman](https://github.com/gocardless/statesman/) and being able to lean on it to prevent you getting into invalid states is fantastic. You also get the bonus of tracking the history of states your resources went through (which is especially useful when you're dealing with payments).

    At some point you'll have to think about query performance on the state transition table, but it'll go further than you think and is firmly in the realm of problems of success.

  • Code review of an Order object implemented as a state machine
    2 projects | /r/ruby | 21 Mar 2021
    I know you were doing educational proof of concent. But when I write them, I usually reach for the statesman gem. Makes state machines pretty trivial IME.

What are some alternatives?

When comparing state_machines and Statesman you can also consider the following projects:

AASM - AASM - State machines for Ruby classes (plain Ruby, ActiveRecord, Mongoid, NoBrainer, Dynamoid)

State Machine - Adds support for creating state machines for attributes on any Ruby class

simple_states - A super-slim statemachine-like support library

transitions - State machine extracted from ActiveModel

state_shifter

Workflow - Ruby finite-state-machine-inspired API for modeling workflow

FeatureFlags - Feature flags for Rails application.Manages ‘flags’ within your Rails app that determine whether various features are enabled or not.

FiniteMachine - A minimal finite state machine with a straightforward syntax.