Method: File.world_writable?

Defined in:
file.c

.world_writable?(file_name) ⇒ Integer?

If file_name is writable by others, returns an integer representing the file permission bits of file_name. Returns nil otherwise. The meaning of the bits is platform dependent; on Unix systems, see stat(2).

file_name can be an IO object.

File.world_writable?("/tmp")		    #=> 511
m = File.world_writable?("/tmp")
sprintf("%o", m)				    #=> "777"

Returns:



1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
# File 'file.c', line 1909

static VALUE
rb_file_world_writable_p(VALUE obj, VALUE fname)
{
#ifdef S_IWOTH
    struct stat st;

    if (rb_stat(fname, &st) < 0) return Qnil;
    if ((st.st_mode & (S_IWOTH)) == S_IWOTH) {
	return UINT2NUM(st.st_mode & (S_IRUGO|S_IWUGO|S_IXUGO));
    }
#endif
    return Qnil;
}