This is a Ruby tree! It shows every object from the Ruby Programming Language in a tree format.
# File < IO (from ruby core) --- A File is an abstraction of any file object accessible by the program and is closely associated with class IO. File includes the methods of module FileTest as class methods, allowing you to write (for example) `File.exist?("foo")`. In the description of File methods, *permission bits* are a platform-specific set of bits that indicate permissions of a file. On Unix-based systems, permissions are viewed as a set of three octets, for the owner, the group, and the rest of the world. For each of these entities, permissions may be set to read, write, or execute the file: The permission bits `0644` (in octal) would thus be interpreted as read/write for owner, and read-only for group and other. Higher-order bits may also be used to indicate the type of file (plain, directory, pipe, socket, and so on) and various other special features. If the permissions are for a directory, the meaning of the execute bit changes; when set the directory can be searched. On non-Posix operating systems, there may be only the ability to make a file read-only or read-write. In this case, the remaining permission bits will be synthesized to resemble typical values. For instance, on Windows NT the default permission bits are `0644`, which means read/write for owner, read-only for all others. The only change that can be made is to make the file read-only, which is reported as `0444`. Various constants for the methods in File can be found in File::Constants. ## What's Here First, what's elsewhere. Class File: * Inherits from [class IO](IO.html#class-IO-label-What-27s+Here), in particular, methods for creating, reading, and writing files * Includes [module FileTest](FileTest.html#module-FileTest-label-What-27s+Here). which provides dozens of additional methods. Here, class File provides methods that are useful for: * [Creating](#class-File-label-Creating) * [Querying](#class-File-label-Querying) * [Settings](#class-File-label-Settings) * [Other](#class-File-label-Other) ### Creating ::new : Opens the file at the given path; returns the file. ::open : Same as ::new, but when given a block will yield the file to the block, and close the file upon exiting the block. ::link : Creates a new name for an existing file using a hard link. ::mkfifo : Returns the FIFO file created at the given path. ::symlink : Creates a symbolic link for the given file path. ### Querying *Paths* ::absolute_path : Returns the absolute file path for the given path. ::absolute_path? : Returns whether the given path is the absolute file path. ::basename : Returns the last component of the given file path. ::dirname : Returns all but the last component of the given file path. ::expand_path : Returns the absolute file path for the given path, expanding `~` for a home directory. ::extname : Returns the file extension for the given file path. ::fnmatch? (aliased as ::fnmatch) : Returns whether the given file path matches the given pattern. ::join : Joins path components into a single path string. ::path : Returns the string representation of the given path. ::readlink : Returns the path to the file at the given symbolic link. ::realdirpath : Returns the real path for the given file path, where the last component need not exist. ::realpath : Returns the real path for the given file path, where all components must exist. ::split : Returns an array of two strings: the directory name and basename of the file at the given path. #path (aliased as #to_path) : Returns the string representation of the given path. *Times* ::atime : Returns a Time for the most recent access to the given file. ::birthtime : Returns a Time for the creation of the given file. ::ctime : Returns a Time for the metadata change of the given file. ::mtime : Returns a Time for the most recent data modification to the content of the given file. #atime : Returns a Time for the most recent access to `self`. #birthtime : Returns a Time the creation for `self`. #ctime : Returns a Time for the metadata change of `self`. #mtime : Returns a Time for the most recent data modification to the content of `self`. *Types* ::blockdev? : Returns whether the file at the given path is a block device. ::chardev? : Returns whether the file at the given path is a character device. ::directory? : Returns whether the file at the given path is a diretory. ::executable? : Returns whether the file at the given path is executable by the effective user and group of the current process. ::executable_real? : Returns whether the file at the given path is executable by the real user and group of the current process. ::exist? : Returns whether the file at the given path exists. ::file? : Returns whether the file at the given path is a regular file. ::ftype : Returns a string giving the type of the file at the given path. ::grpowned? : Returns whether the effective group of the current process owns the file at the given path. ::identical? : Returns whether the files at two given paths are identical. ::lstat : Returns the File::Stat object for the last symbolic link in the given path. ::owned? : Returns whether the effective user of the current process owns the file at the given path. ::pipe? : Returns whether the file at the given path is a pipe. ::readable? : Returns whether the file at the given path is readable by the effective user and group of the current process. ::readable_real? : Returns whether the file at the given path is readable by the real user and group of the current process. ::setgid? : Returns whether the setgid bit is set for the file at the given path. ::setuid? : Returns whether the setuid bit is set for the file at the given path. ::socket? : Returns whether the file at the given path is a socket. ::stat : Returns the File::Stat object for the file at the given path. ::sticky? : Returns whether the file at the given path has its sticky bit set. ::symlink? : Returns whether the file at the given path is a symbolic link. ::umask : Returns the umask value for the current process. ::world_readable? : Returns whether the file at the given path is readable by others. ::world_writable? : Returns whether the file at the given path is writable by others. ::writable? : Returns whether the file at the given path is writable by the effective user and group of the current process. ::writable_real? : Returns whether the file at the given path is writable by the real user and group of the current process. #lstat : Returns the File::Stat object for the last symbolic link in the path for `self`. *Contents* ::empty? (aliased as ::zero?) : Returns whether the file at the given path exists and is empty. ::size : Returns the size (bytes) of the file at the given path. ::size? : Returns `nil` if there is no file at the given path, or if that file is empty; otherwise returns the file size (bytes). #size : Returns the size (bytes) of `self`. ### Settings ::chmod : Changes permissions of the file at the given path. ::chown : Change ownership of the file at the given path. ::lchmod : Changes permissions of the last symbolic link in the given path. ::lchown : Change ownership of the last symbolic in the given path. ::lutime : For each given file path, sets the access time and modification time of the last symbolic link in the path. ::rename : Moves the file at one given path to another given path. ::utime : Sets the access time and modification time of each file at the given paths. #flock : Locks or unlocks `self`. ### Other ::truncate : Truncates the file at the given file path to the given size. ::unlink (aliased as ::delete) : Deletes the file for each given file path. #truncate : Truncates `self` to the given size. --- # Constants: ALT_SEPARATOR : platform specific alternative separator PATH_SEPARATOR : path list separator SEPARATOR : separates directory parts in path Separator : separates directory parts in path # Class methods: absolute_path absolute_path? atime basename birthtime blockdev? chardev? chmod chown ctime delete directory? dirname empty? executable? executable_real? exist? 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? # Instance methods: atime birthtime chmod chown ctime flock lstat mtime path size to_path truncate
This is MURDOC! A Ruby documentation browser inspired by Smalltalk-80. It allows you to learn about Ruby by browsing through its class hierarchies, and see any of its methods.