I find Ruby really close to CL/Clojure with regard to happily
not using design patterns. I usually write pure code and use long method chains -- it mimics the Unix paradigm with small tools connected with pipes. I rarely write proper classes actually and I'm happy with it.
If anobody is interested, I described this style of coding here http://inthephase.org/partial-function-application-in-ruby
I also think that the oo-like call chain:
data.transform1.transform2...transformN
is better readable than:
transformN ...(transform2(transform1(data)))
because the order is transformations is not reversed, so one
sees what's going on with the data in the first pass as he reads, there's no need to mentally reverse the chain. The expressiveness is the same, but the readability of the former wins IMO.