Struct artichoke_backend::load_path::Native

source ·
pub struct Native { /* private fields */ }

Implementations§

source§

impl Native

source

pub fn new() -> Self

Create a new native virtual file system.

This file system grants access to the host file system.

source

pub fn resolve_file(&self, path: &Path) -> Option<PathBuf>

Check whether path points to a file in the virtual file system and return the absolute path if it exists.

This API is infallible and will return None for non-existent paths.

source

pub fn is_file(&self, path: &Path) -> bool

Check whether path points to a file in the virtual file system.

This API is infallible and will return false for non-existent paths.

source

pub fn read_file(&self, path: &Path) -> Result<Vec<u8>>

Read file contents for the file at path.

Returns a byte slice of complete file contents. If path is relative, it is absolutized relative to the current working directory of the virtual file system.

§Errors

If path does not exist, an io::Error with error kind io::ErrorKind::NotFound is returned.

source

pub fn is_required(&self, path: &Path) -> Option<bool>

Check whether a file at path has been required already.

This API is infallible and will return false for non-existent paths.

source

pub fn mark_required(&mut self, path: &Path) -> Result<()>

Mark a source at path as required on the interpreter.

This metadata is used by Kernel#require and friends to enforce that Ruby sources are only loaded into the interpreter once to limit side effects.

§Errors

If path does not exist, an io::Error with error kind io::ErrorKind::NotFound is returned.

Trait Implementations§

source§

impl Debug for Native

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for Native

source§

fn default() -> Native

Returns the “default value” for a type. Read more
source§

impl PartialEq for Native

source§

fn eq(&self, other: &Native) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Eq for Native

source§

impl StructuralPartialEq for Native

Auto Trait Implementations§

§

impl Freeze for Native

§

impl RefUnwindSafe for Native

§

impl Send for Native

§

impl Sync for Native

§

impl Unpin for Native

§

impl UnwindSafe for Native

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.