I don't mean it as a put-down; I suspect the only person I'm putting down is myself.   But I don't find that class methods actually come up much in my Ruby coding; when I find myself coding one I tend to stop and think hard about whether I actually need it.  

And when I do use one it's always your type (1). Why would I want to define a class method anywhere else but in the class?  I do understand that for DSLs, all the rest of this syntax is really useful.   But -- showing my ignorance here -- is it really of any practical value elsewhere?

-- 
A boss with no humor is like a job that's no fun.