Pergunta

Como obtenho o diretório onde o rakefile.rb está localizado?

Quero usar isso como meu diretório raiz para localizar tudo.

Foi útil?

Solução

usar __FILE__ Para obter o nome do arquivo, você pode obter o diretório a partir daí:

dentro test.rb

puts __FILE__

resultado:

/users/foo/test.rb

__FILE__ resolve o caminho completo do arquivo em que está.

Use isso para obter o nome do DIR:

File.dirname(__FILE__)

Outras dicas

Você pode obtê -lo ligando Application.original_dir método. Na tarefa, você pode alcançar inscrição objeto usando inscrição método no objeto de tarefas.

Por que não usar apenas Dir.pwd

?

Se este é um aplicativo ROR, seu RakeFile.RB deve estar no seu diretório Rails_Root. Portanto, em qualquer script, você pode especificar o local do arquivo como

 config.load_paths += %W( #{RAILS_ROOT}/extras )

A partir do Ruby 2 você pode usar __dir__ em vez de File.dirname(__FILE__) para obter o diretório que contém o script atual.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top