If you have a transition named :fail and then try to call an invalid transition (the ! version), instead of getting an invalid transition error, you get an undefined method error for [] on EndState::InvalidTransition.
class TestMachine < EndState::StateMachine
transition open: :failed, as: :fail
end
TestMachine.new(object).some_random_transition!
# undefined method '[]' for EndState::InvalidTransition:Class
If you have a transition named
:fail
and then try to call an invalid transition (the ! version), instead of getting an invalid transition error, you get an undefined method error for[]
onEndState::InvalidTransition
.