Extracted from the book "Programming Ruby - The Pragmatic Programmer's Guide"
Copyright © 2000 Addison Wesley Longman, Inc. Released under the terms of the Open Publication License V1.0.
This reference is available for download.

Google

module FileTest

Index:


FileTest implements file test operations similar to those used in File::Stat.

blockdev? FileTest.blockdev?( aString ) -> true or false
Returns true if the named file is a block device, false if it isn't or if the operating system doesn't support this feature.

FileTest.blockdev?( "testfile" ) -> false

chardev? FileTest.chardev?( aString ) -> true or false
Returns true if the named file is a character device, false if it isn't or if the operating system doesn't support this feature.

FileTest.chardev?( "/dev/tty" ) -> true

directory? FileTest.directory?( aString ) -> true or false
Returns true if this named file is a directory, false otherwise.

FileTest.directory?( "." ) -> true

executable? FileTest.executable?( aString ) -> true or false
Returns true if the named file is executable. The tests are made using the effective owner of the process.

FileTest.executable?( "testfile" ) -> false

executable_real? FileTest.executable_real?( aString ) -> true or false
Same as FileTest#executable?, but tests using the real owner of the process.
exist? FileTest.exist? ( aString ) -> true or false
Returns true if the named file exists.

FileTest.exist?( "testfile" ) -> true

exists? FileTest.exists? ( aString ) -> true or false
Synonym for FileTest::exist?.
file? FileTest.file?( aString ) -> true or false
Returns true if the named file is a regular file (not a device file, pipe, socket, etc.).

FileTest.file?( "testfile" ) -> true

grpowned? FileTest.grpowned?( aString ) -> true or false
Returns true if the effective group id of the process is the same as the group id of the named file. On Windows NT, returns false.

FileTest.grpowned?( "/etc/passwd" ) -> false

owned? FileTest.owned?( aString ) -> true or false
Returns true if the effective user id of the process is the same as the owner of the named file.

FileTest.owned?( "/etc/passwd" ) -> false

pipe? FileTest.pipe?( aString ) -> true or false
Returns true if the operating system supports pipes and the named file is a pipe, false otherwise.

FileTest.pipe?( "testfile" ) -> false

readable? FileTest.readable?( aString ) -> true or false
Returns true if the named file is readable by the effective user id of this process.

FileTest.readable?( "testfile" ) -> true

readable_real? FileTest.readable_real?( aString ) -> true or false
Returns true if the named file is readable by the real user id of this process.

FileTest.readable_real?( "testfile" ) -> true

setgid? FileTest.setgid?( aString ) -> true or false
Returns true if the named file's set-group-id permission bit is set, and false if it isn't or if the operating system doesn't support this feature.

FileTest.setgid?( "/usr/sbin/lpc" ) -> true

setuid? FileTest.setuid?( aString ) -> true or false
Returns true if the named file's set-user-id permission bit is set, and false if it isn't or if the operating system doesn't support this feature.

FileTest.setuid?( "/bin/su" ) -> true

size FileTest.size( aString ) -> anInteger
Returns the size of the named file in bytes.

FileTest.size( "testfile" ) -> 66

size? FileTest.size?( aString ) -> aFixnum or nil
Returns nil if the named file is of zero length; otherwise, returns a nonzero aFixnum.

FileTest.size?( "testfile" ) -> 66
FileTest.size?( "/dev/zero" ) -> nil

socket? FileTest.socket?( aString ) -> true or false
Returns true if the named file is a socket, false if it isn't or if the operating system doesn't support this feature.
sticky? FileTest.sticky?( aString ) -> true or false
Returns true if the named file has its sticky bit set, false if it doesn't or if the operating system doesn't support this feature.
symlink? FileTest.symlink?( aString ) -> true or false
Returns true if the named file is a symbolic link, false if it isn't or if the operating system doesn't support this feature.
writable? FileTest.writable?( aString ) -> true or false
Returns true if the named file is writable by the effective user id of this process.
writable_real? FileTest.writable_real?( aString ) -> true or false
Returns true if the named file is writable by the real user id of this process.
zero? FileTest.zero?( aString ) -> true or false
Returns true if the named file is of zero length, false otherwise.