Aasm callback order?



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.





Usually the best place to look is the actual source itself.

Looks like this is what you are looking for

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


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




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



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?




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



Is this it?




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:



This is a bit more verbose.