Using mixins versus delegation

I've been working on a plugin called Http Test where I add HTML validation and link checking to controller and integration tests through an after filter in ApplicationController. I used to mix in a bunch of methods that I needed into the ApplicationController class, but to me this had a bad smell, so I broke much of the code out into separate classes that I delegate to. ActionController::Base already has 160 or so instance methods and I'm not sure adding even more is a good idea, or is this not an issue? It seems the convention in Rails core and for plugins is to add functionality by mixing in modules into core classes that are already quite big. Can anybody on the list give any guidance or examples as to when using delegation is better than mixing in modules?

Delegation is preferred when you don't need to extend the base functionality. Like validations extends save in AR. See CookieJar in AP as an example of delegation.

That sounds reasonable David. Thanks for clarifying.

Peter