Find.find() seems to filter out broken symlinks. I was hoping to use it
to get a recursive list of files in directory so I could run various
tests on each file (like whether or not a symlink points to a valid
file)
What can I use instead of Find.find()? Is there a better way?
def testsymlinks(srcpath)
Find.find(srcpath) do |path|
if File.symlink?(path)
begin
File.stat(path)
rescue Exception => e
$stderr.puts “The symlink " + path + " does not point to
a valid file. Please check that you have all your network volumes
mounted.”
exit(-1)
end
end
end
end
Is there a Rails specific list? I tried subscribing to ’
[email protected]’ but haven’t been able to get a response.
Alle lunedì 26 marzo 2007, [email protected] ha scritto:
File.stat(path)
rescue Exception => e
$stderr.puts "The symlink " + path + " does not point to a
valid file. Please check that you have all your network volumes mounted."
exit(-1)
end
end
end
end
Are you sure of this? I tried a small setup (made a directory, created a
file
and made a symlink to it, then removed the file) and it works. Find.find
passes the broken symlink to the block and File.stat raises a SystemCall
error (Errno::ENOENT). I’m running ruby 1.8.6 on gentoo linux.
Stefano
chopper wrote:
Is there a Rails specific list? I tried subscribing to ’
[email protected]’ but haven’t been able to get a response.
–
Phillip “CynicalRyan” Gawlowski
Eek! That was supposed to be My Special Law, MY special law, I tell
you!
T/