Utilizando state_machine de pluginaweek, ¿puedo hacer referencia al objeto activerecord durante un evento?
Estoy tratando de implementar un evento de "suspensión" que transita el objeto al estado: suspendido. Pero necesito poder "desuspender" y volver al estado anterior. Agregué un campo previo_estado al modelo, pero no puedo ver cómo acceder a él dentro de un bloque de eventos.
Esta es la lógica básica que estoy tratando de implementar:
event :suspend do
owner.previous_state = self.state
transition [:new, :old] => :suspended
end
event :unsuspend do
transition :suspended => owner.previous_state.to_sym
owner.previous_state = nil
end
Los documentos de state_machine no han sido muy útiles, y no puedo encontrar ejemplos en línea. A veces es difícil saber cómo describir algo a google:)