fails:File.writable? returns true if named file is writable by the effective user id of the process, otherwise false
fails:File.writable? accepts an object that has a #to_path method
fails:File.writable? returns false if the file does not exist
