State Machine
skelex
State Machine | skelex | |
---|---|---|
1 | 1 | |
3,740 | 4 | |
-0.0% | - | |
0.0 | - | |
about 2 months ago | about 6 years ago | |
Ruby | Java | |
MIT License | BSD 3-clause "New" or "Revised" 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.
State Machine
-
Programmers are bad at managing state (2020)
look at this gem https://github.com/pluginaweek/state_machine to get an idea of what features are possible
skelex
-
Programmers are bad at managing state (2020)
Except the tape gets overwritten/looped over. What GP was referring to is event-sourcing the state in an append-only log and running finite state automata on this sequence.
Here is a java lib that apply regex to stream of Objects that could be used to achieve this purpose.
https://github.com/norswap/skelex
What are some alternatives?
AASM - AASM - State machines for Ruby classes (plain Ruby, ActiveRecord, Mongoid, NoBrainer, Dynamoid)
Statesman - A statesmanlike state machine library.
Workflow - Ruby finite-state-machine-inspired API for modeling workflow
StatefulEnum - A very simple state machine plugin built on top of ActiveRecord::Enum
state_machines - Adds support for creating state machines for attributes on any Ruby class
FiniteMachine - A minimal finite state machine with a straightforward syntax.
LogStashLogger - Ruby logger that writes logstash events
FeatureFlags - Feature flags for Rails application.Manages ‘flags’ within your Rails app that determine whether various features are enabled or not.
simple_states - A super-slim statemachine-like support library
state_shifter
StrictMachine
transitions - State machine extracted from ActiveModel