[][src]Struct rocket_include_handlebars::ReloadableHandlebars

pub struct ReloadableHandlebars { /* fields omitted */ }

Reloadable Handlebars.

Implementations

impl ReloadableHandlebars[src]

pub fn new() -> ReloadableHandlebars[src]

Create an instance of ReloadableHandlebars.

pub fn register_template_file<P: Into<PathBuf>>(
    &mut self,
    name: &'static str,
    file_path: P
) -> Result<(), TemplateFileError>
[src]

Register a template from a path and it can be reloaded automatically.

pub fn unregister_template_file<S: AsRef<str>>(
    &mut self,
    name: S
) -> Option<PathBuf>
[src]

Unregister a template from a file by a name.

pub fn reload_if_needed(&mut self) -> Result<(), TemplateFileError>[src]

Reload templates if needed.

Methods from Deref<Target = Handlebars<'static>>

pub fn source_map_enabled(&mut self, enable: bool)[src]

Enable handlebars template source map

Source map provides line/col reporting on error. It uses slightly more memory to maintain the data.

Default is true.

pub fn set_strict_mode(&mut self, enable: bool)[src]

Enable handlebars strict mode

By default, handlebars renders empty string for value that undefined or never exists. Since rust is a static type language, we offer strict mode in handlebars-rust. In strict mode, if you were to render a value that doesn't exist, a RenderError will be raised.

pub fn strict_mode(&self) -> bool[src]

Return strict mode state, default is false.

By default, handlebars renders empty string for value that undefined or never exists. Since rust is a static type language, we offer strict mode in handlebars-rust. In strict mode, if you were access a value that doesn't exist, a RenderError will be raised.

pub fn register_template(&mut self, name: &str, tpl: Template)[src]

Register a Template

This is infallible since the template has already been parsed and insert cannot fail. If there is an existing template with this name it will be overwritten.

pub fn register_template_string<S>(
    &mut self,
    name: &str,
    tpl_str: S
) -> Result<(), TemplateError> where
    S: AsRef<str>, 
[src]

Register a template string

Returns TemplateError if there is syntax error on parsing the template.

pub fn register_partial<S>(
    &mut self,
    name: &str,
    partial_str: S
) -> Result<(), TemplateError> where
    S: AsRef<str>, 
[src]

Register a partial string

A named partial will be added to the registry. It will overwrite template with same name. Currently a registered partial is just identical to a template.

pub fn register_template_file<P>(
    &mut self,
    name: &str,
    tpl_path: P
) -> Result<(), TemplateFileError> where
    P: AsRef<Path>, 
[src]

Register a template from a path

pub fn register_template_source<R>(
    &mut self,
    name: &str,
    tpl_source: &mut R
) -> Result<(), TemplateFileError> where
    R: Read
[src]

Register a template from std::io::Read source

pub fn unregister_template(&mut self, name: &str)[src]

Remove a template from the registry

pub fn register_helper(
    &mut self,
    name: &str,
    def: Box<dyn HelperDef + 'reg + Sync + Send>
) -> Option<Box<dyn HelperDef + 'reg + Sync + Send>>
[src]

Register a helper

pub fn register_decorator(
    &mut self,
    name: &str,
    def: Box<dyn DecoratorDef + 'reg + Sync + Send>
) -> Option<Box<dyn DecoratorDef + 'reg + Sync + Send>>
[src]

Register a decorator

pub fn register_escape_fn<F>(&mut self, escape_fn: F) where
    F: 'static + Send + Sync + Fn(&str) -> String
[src]

Register a new escape fn to be used from now on by this registry.

pub fn unregister_escape_fn(&mut self)[src]

Restore the default escape fn.

pub fn get_escape_fn(&self) -> &dyn Fn(&str)[src]

Get a reference to the current escape fn.

pub fn has_template(&self, name: &str) -> bool[src]

Return true if a template is registered for the given name

pub fn get_template(&self, name: &str) -> Option<&Template>[src]

Return a registered template,

pub fn get_helper(
    &self,
    name: &str
) -> Option<&(dyn HelperDef + 'reg + Sync + Send)>
[src]

Return a registered helper

pub fn get_decorator(
    &self,
    name: &str
) -> Option<&(dyn DecoratorDef + 'reg + Sync + Send)>
[src]

Return a registered decorator

pub fn get_templates(&self) -> &HashMap<String, Template, RandomState>[src]

Return all templates registered

pub fn clear_templates(&mut self)[src]

Unregister all templates

pub fn render<T>(&self, name: &str, data: &T) -> Result<String, RenderError> where
    T: Serialize
[src]

Render a registered template with some data into a string

  • name is the template name you registered previously
  • data is the data that implements serde::Serialize

Returns rendered string or a struct with error information

pub fn render_to_write<T, W>(
    &self,
    name: &str,
    data: &T,
    writer: W
) -> Result<(), RenderError> where
    T: Serialize,
    W: Write
[src]

Render a registered template and write some data to the std::io::Write

pub fn render_template<T>(
    &self,
    template_string: &str,
    data: &T
) -> Result<String, TemplateRenderError> where
    T: Serialize
[src]

Render a template string using current registry without registering it

pub fn render_template_to_write<T, W>(
    &self,
    template_string: &str,
    data: &T,
    writer: W
) -> Result<(), TemplateRenderError> where
    T: Serialize,
    W: Write
[src]

Render a template string using current registry without registering it

pub fn render_template_source_to_write<T, R, W>(
    &self,
    template_source: &mut R,
    data: &T,
    writer: W
) -> Result<(), TemplateRenderError> where
    R: Read,
    T: Serialize,
    W: Write
[src]

Render a template source using current registry without registering it

Trait Implementations

impl Debug for ReloadableHandlebars[src]

impl Default for ReloadableHandlebars[src]

impl Deref for ReloadableHandlebars[src]

type Target = Handlebars<'static>

The resulting type after dereferencing.

impl DerefMut for ReloadableHandlebars[src]

Auto Trait Implementations

Blanket Implementations

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

impl<T, I> AsResult<T, I> for T where
    I: Input, 

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> IntoCollection<T> for T

impl<T> Same<T> for T

type Output = T

Should always be Self

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.

impl<T> Typeable for T where
    T: Any

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,