Commit graph

37 commits

Author SHA1 Message Date
Zach Daniel
73615bb455 fix: don't return tuple from valid_next_state 2024-08-31 17:08:51 -04:00
Zach Daniel
d9821e158b improvement: simplify atomic state transition with new ash feature 2024-07-13 16:14:26 -04:00
Zach Daniel
c540d50593 fix: support accepting the :state attribute
fixes #36
2024-06-11 13:54:18 -04:00
Zach Daniel
eedf68ec4e improvement: policy for including state machine in can? checks 2024-05-01 10:28:53 -04:00
Zach Daniel
c5a3601445 chore: add audit
refactor:  clean up state transition code
2024-04-23 14:22:17 -04:00
Zach Daniel
9198ca08ce improvement: optimize atomic state transition check 2024-04-17 02:32:42 +01:00
Zach Daniel
7f80527f51 improvement: add atomic implementation
closes #16
2024-04-17 01:58:43 +01:00
Zach Daniel
8bec910e5e chore: format & credo 2024-03-29 18:22:57 -04:00
Zach Daniel
9129f4ceee improvement: update to Ash 3.0 2024-03-29 18:01:07 -04:00
Zach Daniel
5fabbaac79 chore: format 2023-10-02 09:45:45 -04:00
Zach Daniel
6b087db923 docs: update spark, better cheatsheets 2023-09-15 12:11:50 -04:00
Zach Daniel
c89f651596 docs: clean up module documentation setup 2023-09-15 09:40:28 -04:00
Zach Daniel
24d2ecd554 docs: various documentation improvements 2023-09-15 09:35:29 -04:00
James Harton
5cba78616c
improvement: Add possible_next_states helper. (#9)
* improvement: Add `possible_next_states` helper.

* chore: add `mix spark.cheat_sheets`.
2023-09-15 15:15:29 +12:00
Zach Daniel
fa109180e4 fix: scrub :* from the list of states
improvement: detect states used that don't exist and log an error
2023-09-12 08:40:18 -04:00
Zach Daniel
83bbaf3686 fix: proper entity path in replace logic 2023-09-12 08:39:13 -04:00
James Harton
55ce5dd082
fix: Allow next_state to to match transitions from *. (#7) 2023-09-08 15:47:53 +12:00
James Harton
cf2bef0e38
feat: Add next_state builtin change. (#6)
When there is only a single possible next state that can be transitioned into, we can automatically transition into that state.
2023-09-08 13:35:51 +12:00
Yousef Janajri
4f1b40281d
improvement: exclude star from state_machine_all_states/1 to avoid inclusion in add_attribuet builder (#4) 2023-08-25 09:37:45 -04:00
Zach Daniel
7a243389b0 improvement: support :* in states 2023-08-04 17:47:42 -04:00
Josh Price
bc4cf09eca
fix: Rename from to old_state in NoMatchingTransition error (#3) 2023-05-03 05:12:38 -04:00
Zach Daniel
d1313b6411 fix: == not != for checking all states 2023-04-28 16:21:36 -04:00
Zach Daniel
0f90487b76 docs: add transition_state/2` description 2023-04-28 15:43:10 -04:00
Zach Daniel
bd66b9236f improvement: make state diagrams the default chart
docs: docs improvements
2023-04-23 00:58:34 -06:00
Zach Daniel
5decff05ac docs: add DSL documentation 2023-04-23 00:46:09 -06:00
bcksl
25f36e40c7
feat: add mix task ash_state_machine.generate_flow_charts (#1) 2023-04-22 18:49:47 -06:00
Zach Daniel
e032cbbb5e improvement: require initial_states 2023-04-22 18:39:29 -06:00
Zach Daniel
152e96605f improvement: fix lint/credo, handle all changeset types 2023-04-22 18:22:16 -06:00
Zach Daniel
98afe7b59f improvement: require from/to 2023-04-22 18:12:11 -06:00
Zach Daniel
885fd2c79b improvement: flow chart generation 2023-04-22 16:50:23 -06:00
Zach Daniel
eea70a666c fix: action does not uniquely identify a transition 2023-04-22 16:40:47 -06:00
Zach Daniel
f433fc083b docs: document :* action name 2023-04-22 16:28:19 -06:00
Zach Daniel
df8e675615 improvement: support :* as a transition action name to match all 2023-04-22 16:27:39 -06:00
Zach Daniel
08d3b3f7de fix: require allow_nil? false on state attribute 2023-04-22 16:14:38 -06:00
Zach Daniel
06871a9977 chore: fsm -> state_machine, event -> transition 2023-04-21 22:33:28 -06:00
Zach Daniel
746ea32504 initial feature set 2023-04-21 13:25:39 -06:00
Zach Daniel
95a75b542a init 2023-04-21 11:43:36 -06:00