File::Constants provides file-related constants. All possible file constants are listed in the documentation but they may not all be present on your platform.

If the underlying platform doesn’t define a constant the corresponding Ruby constant is not defined.

Your platform documentations (e.g. man open(2)) may describe more detailed information.

Constants

File::Constants::FNM_PATHNAME

Wildcards in File.fnmatch and Dir.glob patterns do not match directory separators

File::Constants::FNM_DOTMATCH

The ‘*’ wildcard matches filenames starting with “.” in File.fnmatch and Dir.glob patterns

File::Constants::FNM_CASEFOLD

Makes File.fnmatch patterns case insensitive (but not Dir.glob patterns).

File::Constants::FNM_EXTGLOB

Allows file globbing through “{a,b}” in File.fnmatch patterns.

File::Constants::FNM_SYSCASE

System default case insensitiveness, equals to FNM_CASEFOLD or 0.

File::Constants::FNM_SHORTNAME

Makes patterns to match short names if existing. Valid only on Microsoft Windows.

open for reading only

open for writing only

open for reading and writing

append on each write

create file if it does not exist

error if CREAT and the file exists

do not block on open or for data to become available

truncate size to 0

not to make opened IO the controlling terminal device

disable line code conversion

can delete opened file

any write operation perform synchronously

any write operation perform synchronously except some meta data

any read operation perform synchronously. used with SYNC or DSYNC.

do not follow symlinks

do not change atime

Try to minimize cache effects of the I/O to and from this file.

Create an unnamed temporary file

shared lock. see File#flock

exclusive lock. see File#flock

unlock. see File#flock

non-blocking lock. used with LOCK_SH or LOCK_EX. see File#flock

Name of the null device