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 Feb 28, 2023
·
10 revisions
Step 1:
include StateGate within the model class.
Step 2:
create the state-gate on the required attribute, defining the individual states and allowed transactions.
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