From: Trans Date: 2008-08-26T02:31:16+09:00 Subject: [ruby-core:18383] RCR: instance_methods(ancestor) I'm wondering if anyone here saw this post on ruby-talk. It's seem like such a good idea to me that I was surprised with the minimal response... but then again, it seems like very few core Rubyists spend much time on ruby-talk these days. In any case, I figure I'd post it here just to be sure. = Problem Currently Module#instance_methods (and company) take a single argument, true or false, as to whether to include all ancestor methods. I've written enough metacode to come across the need to limit the search at a particular ancestor. This currently requires code like: meths = [] ancestors[0..ancestors.index(FooAncestor)].each do |anc| meths = meths | anc.instance_methods(false) end It would be nice if we could simply say: instance_methods(FooAncestor) = Solution I leave the full solution to more capable C peoples. I imagine it would not be too difficult however. = Analysis This change is, practically-speaking, backward compatible. It also eliminates the dreaded true|false argument, and can be applied to the entire family of "methods" methods. Thanks, T.