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