diff --git a/.tool-versions b/.tool-versions index 44acbf0..ce0360e 100644 --- a/.tool-versions +++ b/.tool-versions @@ -1,2 +1,2 @@ -erlang 26.0.2 -elixir 1.15.4 +erlang 27.0.1 +elixir 1.17.2-otp-27 diff --git a/lib/checks/valid_next_state.ex b/lib/checks/valid_next_state.ex index 00c301d..d127af6 100644 --- a/lib/checks/valid_next_state.ex +++ b/lib/checks/valid_next_state.ex @@ -20,9 +20,9 @@ defmodule AshStateMachine.Checks.ValidNextState do Ash.Changeset.get_attribute(changeset, attribute) || AshStateMachine.Info.state_machine_default_initial_state!(changeset.resource) - {:ok, new_state in AshStateMachine.Info.state_machine_initial_states!(changeset.resource)} + new_state in AshStateMachine.Info.state_machine_initial_states!(changeset.resource) else - {:ok, true} + true end end @@ -44,7 +44,7 @@ defmodule AshStateMachine.Checks.ValidNextState do all_states = AshStateMachine.Info.state_machine_all_states(changeset.resource) if not is_nil(target) && !Ash.Expr.expr?(target) && target not in all_states do - {:ok, false} + false else states_expr = Enum.reduce(transitions, nil, fn transition, expr -> @@ -60,7 +60,7 @@ defmodule AshStateMachine.Checks.ValidNextState do end else # state transitions are checked in validations when using `transition_state` - {:ok, true} + true end end end diff --git a/test/ash_state_machine_test.exs b/test/ash_state_machine_test.exs index 117235e..ae19b58 100644 --- a/test/ash_state_machine_test.exs +++ b/test/ash_state_machine_test.exs @@ -28,7 +28,7 @@ defmodule AshStateMachineTest do test "`from: :*` can transition from any state" do for state <- [:pending, :confirmed, :on_its_way, :arrived, :error] do - assert {:ok, machine} = Order.abort(%Order{state: state}) + assert {:ok, machine} = Order.abort!(%Order{state: state}) assert machine.state == :aborted end end