mage 0.2.0

An intuitive and powerful template engine.
Documentation

use node::Node;
use eval::Expr;


#[derive(Debug, Clone)]
pub struct If {
    pub expr: Expr,
    pub nodes: Vec<Box<Node>>,
    pub _else_ifs: Vec<Box<Node>>,
    pub _else: Option<Box<Node>>,
}

impl If {
    pub fn new(expression: String) -> If {
        If {
            expr: Expr::new(expression).compile().unwrap(),
            nodes: Vec::new(),
            _else_ifs: Vec::new(),
            _else: None,
        }
    }

    pub fn set_else(&mut self, _else: Node) {
        self._else = Some(Box::new(_else));
    }

    pub fn append_else_ifs(&mut self, else_ifs: &mut Vec<Box<Node>>) {
        self._else_ifs.append(else_ifs);
    }
}