Pregunta

¿Cómo obtengo el directorio donde se encuentra rakefile.rb?

Quiero usar esto como mi directorio raíz para localizar todo.

¿Fue útil?

Solución

use __FILE__ para obtener el nombre del archivo y luego puede obtener el directorio desde allí:

en test.rb

puts __FILE__

salida:

/users/foo/test.rb

__FILE__ se resuelve en la ruta completa del archivo en el que se encuentra.

Use esto para obtener el nombre del directorio:

File.dirname(__FILE__)

Otros consejos

Puede obtenerlo llamando al método application.original_dir . En la tarea, puede lograr el objeto aplicación utilizando el método aplicación en el objeto de tarea.

¿Por qué no solo usar Dir.pwd

?

Si se trata de una aplicación RoR, su Rakefile.rb debería estar en su directorio RAILS_ROOT. Entonces, en cualquier script, puede especificar la ubicación del archivo como

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

A partir de Ruby 2, puede usar __dir__ en lugar de File.dirname (__ FILE__) para obtener el directorio que contiene el script actual.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top