programa ejecutar desde consola como codigo abrir ruby file directory symlink exists

desde - ejecutar programa ruby en windows



Cómo verificar si existe un directorio/archivo/enlace simbólico con un comando en Ruby (2)

¿Por qué no definir su propia función File.exists?(path) or File.symlink?(path) y usar eso?

¿Hay una forma única de detectar si un directorio / archivo / enlace simbólico / etc. entidad (más generalizada) existe?

Necesito una sola función porque necesito verificar una serie de rutas que podrían ser directorios, archivos o enlaces simbólicos. Sé que File.exists?"file_path" funciona para directorios y archivos, pero no para enlaces simbólicos (que es File.symlink?"symlink_path" ).


El módulo de archivo estándar tiene las pruebas de archivos habituales disponibles:

RUBY_VERSION # => "1.9.2" bashrc = ENV[''HOME''] + ''/.bashrc'' File.exist?(bashrc) # => true File.file?(bashrc) # => true File.directory?(bashrc) # => false

Debería poder encontrar lo que quiere allí.

OP: "Gracias, pero necesito los tres verdaderos o falsos"

Obviamente no. Ok, intenta algo como:

def file_dir_or_symlink_exists?(path_to_file) File.exist?(path_to_file) || File.symlink?(path_to_file) end file_dir_or_symlink_exists?(bashrc) # => true file_dir_or_symlink_exists?(''/Users'') # => true file_dir_or_symlink_exists?(''/usr/bin/ruby'') # => true file_dir_or_symlink_exists?(''some/bogus/path/to/a/black/hole'') # => false