Best way to access directory relational to current file


#1

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


#2

removed_email_address@domain.invalid 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))

Regards,

Dan


#3

Daniel B. wrote:

removed_email_address@domain.invalid 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