Как получить имя текущего каталога в Ruby?

Как мне получить имя текущего каталога в Ruby? Все, что я нашел, File.dirname(__FILE__), но возвращает только ., и я хочу фактическое имя. Как это сделать?

Ответы

Ответ 1

dirname = File.basename(Dir.getwd)

File.basename() возвращает базовое имя, даже если его аргументом является путь к каталогу.

Чтобы получить абсолютный путь, Dir.pwd, похоже, делает трюк.

Ответ 2

В Ruby 2.0 или выше вы можете использовать Kernel#__dir__:

__dir__

Из документов:

Возвращает канонизированный абсолютный путь в каталоге файла из которого вызывается этот метод.

Ответ 3

File.expand_path(File.dirname(File.dirname(__FILE__)))