Рейк и текущий каталог
Как получить каталог, в котором находится rakefile.rb?
Я хочу использовать это в качестве корневого каталога, чтобы найти все.
Ответы
Ответ 1
используйте __FILE__
, чтобы получить имя файла, после чего вы можете получить каталог отсюда:
in test.rb
puts __FILE__
выход:
/users/foo/test.rb
__FILE__
разрешает полный путь к файлу, в котором он находится.
Используйте это, чтобы получить имя dir:
File.dirname(__FILE__)
Ответ 2
Вы можете получить его, вызвав метод application.original_dir. В задаче вы можете достичь объекта приложения с помощью метода application объекта задачи.
Ответ 3
Почему бы просто не использовать Dir.pwd
?
Ответ 4
Если это приложение RoR, ваш Rakefile.rb должен находиться в вашем каталоге RAILS_ROOT. Таким образом, в любом script вы можете указать расположение файла, например
config.load_paths += %W( #{RAILS_ROOT}/extras )