On 29.05.2007 22:22, gparsons wrote: > This is a bit of an odd request, but does anyone know how i would find > what file Ruby is using to define an object in? For instance if i had > a few libraries in my include path and they defined the (ever useful) > classes Foo, Bar, and Baz is there anyway to find out from within ruby > that Foo is defined in the file /usr/local/lib/ruby/gems/1.8/gems/ > foo-1.0.0/lib/foo.rb or wherever? > > The best i could come up with would be a rather brute force approach > to searching through the files found in $: and this just seems > horribly slow and prone to explosions. Just wondering if someone out > there who has a better understanding of Ruby's underbelly might have a > better idea. Note that the caller approach either requires to manipulate the class that you are looking for or you need to know that it has a method that will accept a block which you can use to inject your "locating code". Given the frequency (or rather /in/frequency) with which this comes up here it seems that most people are OK with the brute force approach. :-) Kind regards robert