fails:File.writable? returns true if named file is writable by the effective user id of the process, otherwise false
fails:File.writable? returns false if the file does not exist
