Aasm callback order?


#1

Hello!

Sometime ago I ran across a webpage where someone had identified the
full callback sequence for an object lifecycle including AASM with
it’s :enter and :exit and whatnot callbacks. Unfortunately, I can’t
find it and searches don’t seem to help.

Does anyone have a reference to a page that shows the callback
sequence with Acts As State Machine (the gem)?

I think there was a Wiki page on github with this, but I can’t find
it. Grrr.

Thanks!

-Danimal


#2

Danimal,

Usually the best place to look is the actual source itself.
http://github.com/omghax/acts_as_state_machine/tree/master/lib/acts_as_state_machine.rb

Looks like this is what you are looking for
:entering
:entered
:exited

The entering and exiting methods call the @enter and @exit options
respectively which are passed in during instantiation.

Cheers


Robert Z.
Zapient, LLC
Ruby on Rails Development and Consulting

http://www.zapient.com
http://www.fromjavatoruby.com


#3

Robert,

I appreciate the fast response. Actually, though, there was a page
somewhere that showed the FULL lifecycle of a ruby model that goes
through before_save, validation, after_save, and all that along with
the AASM transitions when the bang (!) character is included and when
enters, exits, guards, transitions and such are used.

I can practically visualize the page I remember… it was a listing of
the order of each of these “steps” (callbacks and such).

In other words, it was very similar to the first part of this:


but with the AASM hooks included.

It’s just bugging me because I thought I bookmarked the page and I
can’t find my bookmark. sigh

-Danimal


#4

Thank you, Robert! I’ll have to try out foxmarks. I suspect that the
problem was PEBKAC… i.e. I probably thought “that’s a cool page, I
should bookmark it” and for whatever reason did not. Heh.

Anyway… anyone else have an inkling about the page/wiki that I’m
talking about? Or was it just in a dream?

:slight_smile:

-Danimal


#5

Ahhh I see. Sorry, Im not familiar with that wiki you are talking
about. However I can solve your bookmarking problem if you happen to
use Firefox http://www.foxmarks.com/ :slight_smile:

Good luck finding that wiki.

Robert Z.
Zapient, LLC
Ruby on Rails Development and Consulting

http://www.zapient.com
http://www.fromjavatoruby.com


#6

Is this it?

http://didcoe.id.au/archives/finite-state-machines-in-rails


#7

Dusty,

That may very well be it. I thought it was a longer list, but maybe
I’m just remembering the two lists (new vs. existing) and somehow
lumping them together.

Thanks for the reference, though! :slight_smile:

-Danimal


#8

This is a bit more verbose.

http://blog.methodmissing.com/2006/11/16/beyond-callbacks-for-complex-model-lifecycles/