use std::io::Write;
use liquid_error::Result;
use super::Context;
use super::Renderable;
#[derive(Debug)]
pub struct Template {
elements: Vec<Box<Renderable>>,
}
impl Template {
pub fn new(elements: Vec<Box<Renderable>>) -> Template {
Template { elements }
}
}
impl Renderable for Template {
fn render_to(&self, writer: &mut Write, context: &mut Context) -> Result<()> {
for el in &self.elements {
el.render_to(writer, context)?;
if context.interrupt().interrupted() {
break;
}
}
Ok(())
}
}