Best way to access directory relational to current file

I'm trying to find the full path to a file. File.dirname(__FILE__)
always returns ".", which doesn't really do me any good. The working
directory is not always the same as where the file is, so I can't use
the "." in any useful way.

What I'm trying to do is locate where a particular file is because I
know where other files are in relation to this particular file. I
don't know what the working directory will be though, anyone could
execute the ruby file originating from any location.

Thanks for any thoughts....

phil

<snip>

I think you want File.expand_path(File.dirname(__FILE__))

Regards,

Dan

···

phil.swenson@gmail.com wrote:

I'm trying to find the full path to a file. File.dirname(__FILE__) always returns ".", which doesn't really do me any good. The working directory is not always the same as where the file is, so I can't use the "." in any useful way.

Daniel Berger wrote:

···

phil.swenson@gmail.com wrote:

I'm trying to find the full path to a file. File.dirname(__FILE__) always returns ".", which doesn't really do me any good. The working directory is not always the same as where the file is, so I can't use the "." in any useful way.

I think you want File.expand_path(File.dirname(__FILE__))

I tend to use this idiom a lot:
   require File.expand_path(__FILE__+'/../relative/path/to/file')

For ruby, "file" and "dummydir/../file" are considered as 2 different
files, so I think it's a good idea to always use absolute directories
when doing a require.

Daniel