On Wed, Aug 13, 2008 at 9:33 AM, David A. Black <dblack / rubypal.com> wrote: > Hi -- > > * call-seq: > * mod.instance_methods(include_super=true) => array > * > * Returns an array containing the names of public instance methods > * in the receiver. For a module, these are the public methods; for a > * class, they are the instance (not singleton) methods. With no > * argument, or with an argument that is <code>false</code>, the > * instance methods in <i>mod</i> are returned, otherwise the methods > * in <i>mod</i> and <i>mod</i>'s superclasses are returned. > > Since include_super defaults to true, I believe the "With no argument" > statement is wrong. These arbitrary boolean arguments are definitely > confusing, so I just wanted to make sure I'm right that it's wrong. I think you're right: >> String.instance_methods == String.instance_methods(true) => true >> String.instance_methods == String.instance_methods(false) => false I'd actually prefer it as documented, rather than as implemented. It'd be nice to default as hiding the parent methods. But that's a whole other can of worms. -- Technical Blaag at: http://blog.majesticseacreature.com | Non-tech stuff at: http://metametta.blogspot.com