There is a helper already on models that you can use: https://github.com/neighborly/neighborly/blob/master/app/models/concerns/shared/state_machine_helpers.rb#L7