que tienen una jerarquía de archivos y algunos de los subdirectorios son enlaces simbólicos relativos. Estoy usando Ruby's Find.find
para rastrear estos directorios y encontrar algunos archivos específicos. Sin embargo, no busca en ningún directorio que sea un enlace simbólico (sigue a los archivos que son enlaces simbólicos).¿Cómo hacer que Find.find de Ruby siga los enlaces simbólicos?
Al mirar source code parece que el problema es porque está usando File.lstat(file).directory?
para probar si algo es un directorio. Esto devuelve false
para enlaces pero File.stat.directory?
vuelve true
.
¿Cómo puedo hacer que Find.find
sigan los enlaces simbólicos, sin monkey al parchearlo para usar File.stat
en lugar de File.lstat
?
¿Cómo hago 'Dir' encontrar archivos de forma recursiva? No veo un método en la clase Dir. ¿Me falta algo aquí? Mientras – arnab
"alib" parece tener un código similar, que nunca han oído hablar de él - no es en github/tallador de gemas y el propio nombre (¿es realmente "un lib") no inspira mucha confianza. ¿Lo has usado en el código de producción? ¿Cómo estuvo la experiencia? – arnab
Dir [ "**/*"] parece que funciona sólo para un nivel de jerarquía - que tenía múltiples niveles, con algunos de ellos como enlaces simbólicos. Terminé usando rutas de directorios Menores (http://ruby-doc.org/core/classes/Pathname.html#M001721) – arnab