From: Gary Wright Date: 2007-03-15T12:40:08+09:00 Subject: Re: When introspection doesn't... On Mar 14, 2007, at 11:04 PM, Chad Lester wrote: > Thank you for your reply. It wasn't what I was hoping for, but I > still > appreciate it. > > What I meant to ask is when can calling foo.bar() result in a > different > method call from foo.method(:bar).call() in the case where there > really > is a method called 'bar'. Kudos for pointing out that the error > message > is different when 'bar' doesn't exist, but that wasn't what I was > looking for. =) This "might" explain it: It is possible to use method_missing to catch a call to an undefined method, dynamically create that method, and invoke it. So foo.bar() would create the method the first time it is called such that subsequent foo.bar() calls or foo.method(:bar) calls succeed without any intervention by method_missing. I believe that this technique is used in Rails but I don't know if it explains the particular behavior you are seeing. Gary Wright