method
rename
ruby latest stable - Class:
File
rename(p1, p2)public
Renames the given file to the new name. Raises a SystemCallError if the file cannot be renamed.
File.rename("afile", "afile.bak") #=> 0
static VALUE
rb_file_s_rename(VALUE klass, VALUE from, VALUE to)
{
struct rename_args ra;
VALUE f, t;
FilePathValue(from);
FilePathValue(to);
f = rb_str_encode_ospath(from);
t = rb_str_encode_ospath(to);
ra.src = StringValueCStr(f);
ra.dst = StringValueCStr(t);
#if defined __CYGWIN__
errno = 0;
#endif
if ((int)(VALUE)rb_thread_call_without_gvl(no_gvl_rename, &ra,
RUBY_UBF_IO, 0) < 0) {
int e = errno;
#if defined DOSISH
switch (e) {
case EEXIST:
if (chmod(ra.dst, 0666) == 0 &&
unlink(ra.dst) == 0 &&
rename(ra.src, ra.dst) == 0)
return INT2FIX(0);
}
#endif
syserr_fail2(e, from, to);
}
return INT2FIX(0);
} Related methods
- Instance methods
- atime
- birthtime
- chmod
- chown
- ctime
- flock
- lstat
- mtime
- path
- size
- to_path
- truncate
- Class methods
- absolute_path
- atime
- basename
- birthtime
- blockdev?
- chardev?
- chmod
- chown
- ctime
- delete
- directory?
- dirname
- empty?
- executable?
- executable_real?
- exist?
- exists?
- expand_path
- extname
- file?
- fnmatch
- fnmatch?
- ftype
- grpowned?
- identical?
- join
- lchmod
- lchown
- link
- lstat
- lutime
- mkfifo
- mtime
- new
- open
- owned?
- path
- pipe?
- readable?
- readable_real?
- readlink
- realdirpath
- realpath
- rename
- setgid?
- setuid?
- size
- size?
- socket?
- split
- stat
- sticky?
- symlink
- symlink?
- truncate
- umask
- unlink
- utime
- world_readable?
- world_writable?
- writable?
- writable_real?
- zero?