From: "David A. Black" Date: 2007-11-07T19:23:09+09:00 Subject: invoke_method, and things you "just have to know" Hi -- I see that send! is gone from 1.9, and send is back to calling private methods. OK... but there's now also invoke_method, which doesn't call private methods if it has an explicit receiver but does if it doesn't. My concern is that this is one of those things where you "just have to know" which is which. It's like instance_eval and instance_exec: the method names themselves don't tell you how they differ, so you just have to memorize which one does what. I've always had this problem with the boolean flags in things like instance_methods(false). "false" doesn't tell you what's happening; you just have to learn that there are two behaviors, and memorize how they map to true/false. I'd really like to see the amount of "you just have to know it" things in Ruby reduced to zero. Of course, you always have to know something... but I think it's much better when the method names tell you as much as they possibly can. (send/send! seemed exactly right for that; I don't know why it's gone.) But if anything, it seems to be increasing in 1.9. At least, that's my impression. David -- Upcoming training by David A. Black/Ruby Power and Light, LLC: * Advancing With Rails, Edison, NJ, November 6-9 * Advancing With Rails, Berlin, Germany, November 19-22 * Intro to Rails, London, UK, December 3-6 (by Skills Matter) See http://www.rubypal.com for details!