Robert Klemme
5/30/2007 7:33:00 AM
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