From my experience with Ruby I can say that people often just overuse
Ruby modules (and generally all Ruby metaprogramming stuff and dynamic
capabilities). I think that using modules should be similar to
Enumerable. Just include it, define one (two) special methods (each,
<=>) and you have some functionality. But Ruby programmers (I'm Ruby
programmer to :)) tend to use modules to distribute class
implementations to diffrent part (so they use many instance variables
and internal part of desired class).

For example, when I want to find what methods are in controller
instance (rails) I can't just go to ActionController::Base and list
all methods because that class has many included modules (and many of
them are included outside class). I'm not complaining about Ruby
itself, rather about programmers :).

-- 
Radosw Bu„Šat

http://radarek.jogger.pl - m blog