pub enum Required {
Success,
AlreadyRequired,
}
Expand description
The side effect from a call to Kernel#require
.
In Ruby, require
is stateful. All required sources are tracked in a global
interpreter state accessible as $"
and $LOADED_FEATURES
.
The first time a file is required, it is parsed and executed by the
interpreter. If the file executes without raising an error, the file is
successfully required and Rust callers can expect a Required::Success
variant. Files that are successfully required are added to the interpreter’s
set of loaded features.
If the file raises an exception as it is required, Rust callers can expect
an Err
variant. The file is not added to the set of loaded features.
If the file has previously been required such that Required::Success
has
been returned, all subsequent calls to require the file will return
Required::AlreadyRequired
.
See the documentation of require_source
for more details.
Variants§
Success
Kernel#require
succeeded at requiring the file.
If this variant is returned, this is the first time the given file has been required in the interpreter.
This variant has value true
when converting to a Boolean as returned
by Kernel#require
.
AlreadyRequired
Kernel#require
did not require the file because it has already been
required.
If this variant is returned, this is at least the second time the given
file has been required. Interpreters guarantee that files are only
required once. To load a source multiple times, see load_source
and
Kernel#load
.
This variant has value false
when converting to a Boolean as returned
by Kernel#require
.