AASM
Paranoia
AASM | Paranoia | |
---|---|---|
3 | 2 | |
4,953 | 2,851 | |
0.3% | 0.4% | |
3.8 | 5.7 | |
5 days ago | about 1 month ago | |
Ruby | Ruby | |
MIT License | MIT License |
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.
AASM
-
Code review of an Order object implemented as a state machine
AASM gem is great too! Easy to use and actively maintained.
-
RoR Gems: Pin To Plane For Developing RoR Application
6. AASM
-
Validate state transition easily without any gem
You can use state machine gems, such as aasm to write validation. But the gem introduces new DSL to write state transition. It's too much just for validation.
Paranoia
-
We lost 54k GitHub stars
https://github.com/rubysherpas/paranoia is enough to solve problems at very large scales.
There is nothing about Rails or MVC preventing someone from doing this. This is a very common design principle for all kind of ERP and BPM systems: don't ever delete anything.
-
RoR Gems: Pin To Plane For Developing RoR Application
3. Paranoia
What are some alternatives?
State Machine - Adds support for creating state machines for attributes on any Ruby class
PaperTrail - Track changes to your rails models
Workflow - Ruby finite-state-machine-inspired API for modeling workflow
Discard - 🃏🗑 Soft deletes for ActiveRecord done right
Statesman - A statesmanlike state machine library.
ActsAsParanoid - ActiveRecord plugin allowing you to hide and restore records without actually deleting them.
state_machines - Adds support for creating state machines for attributes on any Ruby class
Audited - Audited (formerly acts_as_audited) is an ORM extension that logs all changes to your Rails models.
StatefulEnum - A very simple state machine plugin built on top of ActiveRecord::Enum
Destroyed At - ActiveRecord Mixin for Safe Destroys
transitions - State machine extracted from ActiveModel
mongoid-history - Multi-user non-linear history tracking, auditing, undo, redo for mongoid.