You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
CodeMeister edited this page Mar 1, 2023
·
10 revisions
step 1:
include StateGate within the model class.
step 2:
create the state-gate on the String attribute
step 3:
pass a block defining the individual states with their allowed transitions.
simple example:
This example creates a minimal state-gate on the :status attribute of the Post class,
allowing any state to transition to any other state without restriction.
This example creates a complex state-gate with a prefix, a suffix, no scopes and one-way, looping, sequential transitions.
class UKTrafficLight < ActiveRecord::Base
include StateGate
state_gate :status do
state :green
state :yellow
state :red
state :red_and_yellow
default :red
prefix :traffic
suffix :light
no_scopes
make_sequential :one_way, :loop
end
end