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