如何检测目录在Ruby中是否可写

Sim*_*yer 7 ruby directory permissions file writable

我正在使用Ruby,需要在尝试创建新文件之前检测目录是否可写.

我尝试了以下代码,根据@path是否是目录,它正确返回true/false.但是,如果没有对@path文件夹的写入权限,它仍会返回true.

  if File.directory?(@path) && File.writable?(@path)
    #is a writeable directory
    true
  else
    #is not a writeable directory
    false
  end
Run Code Online (Sandbox Code Playgroud)

我查看了File和Dir类的帮助,看不到任何允许我检查目录写权限的方法.有办法吗?

我只需要在Windows上使用Ruby 1.9.3.

Yoa*_*che 0

您也许可以通过使用来做到这一点world_writable?(filename)

http://ruby-doc.org/core-1.9.3/File.html#method-c-world_writable-3F