Chapter 31. Keep an Open Mind to Go with Those Open Classes
Throughout the writing of this book I have been haunted by a feeling of irony. On page after page I have been talking up the technical flexibility of Ruby. I’ve gone on and on about how wonderful it is to program without the straitjacket of static typing, about how being able to change your classes on the fly makes for the magic of metaprogramming, and about how the flexible syntax enables us to build really nice DSLs.
But on these same pages I have also been laying down the law: Indent your code this way, be careful with
method_missing, and avoid those class variables. Do what I tell you to do or you will put an eye out.
Stand back a little and the irony goes away: Ruby is a very, ...