In mid July 2008 Memoization was added to Rails core. A demonstration of the usage is here.
I have not been able to find any good examples on when methods should be
Perhaps my experience is a good example of when NOT to use memoize. In my Order model, I was memoizing both simple calculation results, i.e. Order#subtotal, Order#tax; as well as model objects, i.e. Order#most_recent_credit_card_used. In the latter, when memoizing a method that returns a CreditCard object, I would get 'frozen hash' errors when attempting to update attributes on the memoized object. Order#most_recent_credit_card_used.frozen? returned true when the method was memoized, which of course, is not what I intended.
My take-away was simple: use memoize for expensive operations that return simple data types (integers, floats, etc.) but Do Not use memoize when returning complex objects like ActiveRecord models, esp. if you intend to update those objects in-memory.