More restrictive state machine transitions in Clusters::ApplicationStatus

This commit is contained in:
Alessio Caiazza 2017-11-07 10:07:22 +01:00
parent f9364929ba
commit 3bf2abaa1c

View file

@ -12,20 +12,20 @@ module Clusters
state :installing, value: 2
state :installed, value: 3
event :make_scheduled do
transition %i(installable errored) => :scheduled
end
event :make_installing do
transition any - [:installing] => :installing
transition %i(scheduled) => :installing
end
event :make_installed do
transition any - [:installed] => :installed
transition %i(installing) => :installed
end
event :make_errored do
transition any - [:errored] => :errored
end
event :make_scheduled do
transition %i(installable errored) => :scheduled
transition any => :errored
end
before_transition any => [:scheduled] do |app_status, _|