aasm/aasm
AASM - State machines for Ruby classes (plain Ruby, ActiveRecord, Mongoid, NoBrainer, Dynamoid) observed · 2026-08-28
Health v2 · maintenance only
73/100
- Activity 91
- Release rhythm 35
- Longevity 100
Flags: no_releases
How is this computed?
round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10) — computed 2026-09-03. Adoption (stars, forks) is never an input.
- gap_med: n/a
- age_days: 6761
- days_rel: n/a
- days_push: 59
- n_releases_24m: 0
Adoption not part of the score
5230 stars · 643 forks observed · 2026-08-28
What it is AI-extracted, prompt v1, taxonomy v1, 2026-08-29, confidence not recorded
AASM is a Ruby library for adding finite state machines to Ruby classes, with adapters for ActiveRecord, Mongoid, NoBrainer, Dynamoid, Sequel, and Redis. It supports callbacks, guards, transitions, multiple state machines per class, transaction support, and testing helpers.
Use cases
- add a state machine to a Rails ActiveRecord model
- manage order lifecycle states with guarded transitions
- define state machines for plain Ruby classes
- persist state transitions with Mongoid or Dynamoid
- test state machine transitions with RSpec or Minitest
- log and inspect state changes on models
When to choose
- you need finite state machine semantics in Ruby with ORM persistence
- you want callbacks, guards, and transaction support around transitions
- you need multiple named state machines on a single class
When to avoid
- you need state machines in a non-Ruby language
- you only need a simple status enum without transition logic
- you need distributed workflow orchestration rather than in-model state
Facets
library · maturity stable
state-management orm developer-tools web-development backend developer-tools ruby jvm state-machine finite-state-machine activerecord mongoid rails transitions callbacks guards
1 source
- readme: https://github.com/aasm/aasm · fetched 2026-08-28 · e6612b9d0fcd
Member repositories
| Repository | Role | Health v2 |
|---|---|---|
| aasm/aasm | main | 73 |
For agents
Data as of 2026-08-30T08:39:29.467469+00:00 · Report a problem