[][src]Struct rhai::module_resolvers::FileModuleResolver

pub struct FileModuleResolver { /* fields omitted */ }

Module resolution service that loads module script files from the file system.

Script files are cached so they are are not reloaded and recompiled in subsequent requests.

The new_with_path and new_with_path_and_extension constructor functions allow specification of a base directory with module path used as a relative path offset to the base directory. The script file is then forced to be in a specified extension (default .rhai).

Examples

use rhai::Engine;
use rhai::module_resolvers::FileModuleResolver;

// Create a new 'FileModuleResolver' loading scripts from the 'scripts' subdirectory
// with file extension '.x'.
let resolver = FileModuleResolver::new_with_path_and_extension("./scripts", "x");

let mut engine = Engine::new();
engine.set_module_resolver(Some(resolver));

Implementations

impl FileModuleResolver[src]

pub fn new_with_path<P: Into<PathBuf>>(path: P) -> Self[src]

Create a new FileModuleResolver with a specific base path.

Examples

use rhai::Engine;
use rhai::module_resolvers::FileModuleResolver;

// Create a new 'FileModuleResolver' loading scripts from the 'scripts' subdirectory
// with file extension '.rhai' (the default).
let resolver = FileModuleResolver::new_with_path("./scripts");

let mut engine = Engine::new();
engine.set_module_resolver(Some(resolver));

pub fn new_with_path_and_extension<P: Into<PathBuf>, E: Into<String>>(
    path: P,
    extension: E
) -> Self
[src]

Create a new FileModuleResolver with a specific base path and file extension.

The default extension is .rhai.

Examples

use rhai::Engine;
use rhai::module_resolvers::FileModuleResolver;

// Create a new 'FileModuleResolver' loading scripts from the 'scripts' subdirectory
// with file extension '.x'.
let resolver = FileModuleResolver::new_with_path_and_extension("./scripts", "x");

let mut engine = Engine::new();
engine.set_module_resolver(Some(resolver));

pub fn new() -> Self[src]

Create a new FileModuleResolver with the current directory as base path.

Examples

use rhai::Engine;
use rhai::module_resolvers::FileModuleResolver;

// Create a new 'FileModuleResolver' loading scripts from the current directory
// with file extension '.rhai' (the default).
let resolver = FileModuleResolver::new();

let mut engine = Engine::new();
engine.set_module_resolver(Some(resolver));

pub fn create_module<P: Into<PathBuf>>(
    &self,
    engine: &Engine,
    path: &str
) -> Result<Module, Box<EvalAltResult>>
[src]

Create a Module from a file path.

Trait Implementations

impl Debug for FileModuleResolver[src]

impl Default for FileModuleResolver[src]

impl ModuleResolver for FileModuleResolver[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.