But what happens when you’re not using a controller; maybe when you’re
at the console, or in a script? - then these methods wouldn’t be
available. They relate to the objects - so they should (on balance)
live there. If you think they should be in the application_controller
(or any individual controller) that’s probably the old procedural
programming habits showing their heads 
yeah, in some ways, that has shown some procedural programming trait (my day job sees me coding in both procedural and OO environments and my arguments to totally be rid of procedural programming have been knocked back strongly
).
Yes, that is a valid point but given that the resources I deal with can only work in the web domain as the app i have here is very simple albeit I do deal with applications that have deal with data on and offline (xml file transfers and etc) 
Devise is for authentication (logging in), Aegis & CanCan are for
authorization (can a user, logged in or not, do this thing…) -
they’re very different problem domains.
Yep, you’re right, Michael 
For my own app, I have just simplified it to have 2 types of users (ie. ‘admin’ and ‘regular’ types).
Hence, I done away with using authorization gems as it’s a simple application 
Sweet. Nice discussion. Thank you 
Loving rails since ver 2.3.x and finding sanity in it,
Gordon Yeong 