¿Cómo obtener la ruta absoluta del directorio de trabajo actual en Ruby?
Estoy ejecutando Ruby en Windows, aunque no sé si eso debería marcar la diferencia. Todo lo que quiero hacer es obtener la ruta absoluta del directorio de trabajo actual. ¿Es esto posible desde irb? Aparentemente desde un script es posible usarFile.expand_path(__FILE__)
Pero desde irb intenté lo siguiente y obtuve el error "Permiso denegado":
File.new(Dir.new(".").path).expand
Dir.pwd
es el directorio de trabajo actual
http://ruby-doc.org/core/Dir.html#method-c-pwd
File.expand_path File.dirname(__FILE__)
devolverá el directorio relativo al archivo desde el que se llama este comando.
Pero Dir.pwd
devuelve el directorio de trabajo (los resultados son idénticos a los de ejecutar pwd
en su terminal)
En cuanto a la ruta relativa al script en ejecución actual, desde Ruby 2.0 también puedes usar
__dir__
Entonces esto es básicamente lo mismo que
File.dirname(__FILE__)
Esto le dará el directorio de trabajo del archivo actual.
File.dirname(__FILE__)
Ejemplo:
archivo_actual: "/Usuarios/nemrow/SITM/carpeta1/carpeta2/amazon.rb"
resultado: "/Usuarios/nemrow/SITM/carpeta1/carpeta2"