Eu gostaria de criar uma função de retorno de chamada em trilhos que executa depois que um modelo é salvo.
Eu tenho este modelo, Reivindicação que tem um atributo 'status' que muda dependendo do estado da reivindicação, os valores possíveis são pendentes, endossados, aprovados, rejeitados
O banco de dados tem 'estado' com o valor padrão de 'pendente'.
Gostaria de executar certas tarefas depois que o modelo for criado pela primeira vez ou atualizado de um estado para outro, dependendo de qual estado ele muda.
Minha ideia é ter uma função no modelo:
after_save :check_state
def check_state
# if status changed from nil to pending (created)
do this
# if status changed from pending to approved
performthistask
end
Minha pergunta é como faço para verificar o valor anterior antes da mudança dentro do modelo?