From c961cf7ab80dc0c2ea5ed9b96e927c1acaa9d3a5 Mon Sep 17 00:00:00 2001 From: Tom Alexander Date: Tue, 28 Apr 2020 19:09:02 -0400 Subject: [PATCH] Combine the render traits into a single context_element file. --- src/renderer/{walkable.rs => context_element.rs} | 6 +++++- src/renderer/errors.rs | 2 +- src/renderer/mod.rs | 9 ++++----- src/renderer/renderable.rs | 6 ------ src/renderer/renderer.rs | 6 +++--- 5 files changed, 13 insertions(+), 16 deletions(-) rename src/renderer/{walkable.rs => context_element.rs} (63%) delete mode 100644 src/renderer/renderable.rs diff --git a/src/renderer/walkable.rs b/src/renderer/context_element.rs similarity index 63% rename from src/renderer/walkable.rs rename to src/renderer/context_element.rs index d2ae81f..84ad197 100644 --- a/src/renderer/walkable.rs +++ b/src/renderer/context_element.rs @@ -1,4 +1,4 @@ -use super::renderable::Renderable; +use crate::parser::Filter; use crate::renderer::errors::RenderError; use std::fmt::Debug; @@ -7,3 +7,7 @@ pub trait ContextElement: Walkable + Renderable + Debug {} pub trait Walkable { fn walk(&self, segment: &str) -> Result<&dyn ContextElement, RenderError>; } + +pub trait Renderable { + fn render(&self, filters: &Vec) -> Result; +} diff --git a/src/renderer/errors.rs b/src/renderer/errors.rs index 2998479..663065c 100644 --- a/src/renderer/errors.rs +++ b/src/renderer/errors.rs @@ -1,4 +1,4 @@ -use crate::renderer::walkable::ContextElement; +use crate::renderer::context_element::ContextElement; use std::error; use std::fmt; diff --git a/src/renderer/mod.rs b/src/renderer/mod.rs index 8b536f9..991bc92 100644 --- a/src/renderer/mod.rs +++ b/src/renderer/mod.rs @@ -1,15 +1,14 @@ //! This module contains a renderer for a rust implementation of LinkedIn Dust +mod context_element; mod errors; -mod renderable; mod renderer; -mod walkable; +pub use context_element::ContextElement; +pub use context_element::Renderable; +pub use context_element::Walkable; pub use errors::CompileError; pub use errors::RenderError; -pub use renderable::Renderable; pub use renderer::compile_template; pub use renderer::CompiledTemplate; pub use renderer::DustRenderer; -pub use walkable::ContextElement; -pub use walkable::Walkable; diff --git a/src/renderer/renderable.rs b/src/renderer/renderable.rs deleted file mode 100644 index 228f8db..0000000 --- a/src/renderer/renderable.rs +++ /dev/null @@ -1,6 +0,0 @@ -use crate::parser::Filter; -use crate::renderer::errors::RenderError; - -pub trait Renderable { - fn render(&self, filters: &Vec) -> Result; -} diff --git a/src/renderer/renderer.rs b/src/renderer/renderer.rs index 9e7151e..7cf8ed0 100644 --- a/src/renderer/renderer.rs +++ b/src/renderer/renderer.rs @@ -3,9 +3,9 @@ use crate::parser::Body; use crate::parser::DustTag; use crate::parser::Template; use crate::parser::TemplateElement; +use crate::renderer::context_element::ContextElement; use crate::renderer::errors::CompileError; use crate::renderer::errors::RenderError; -use crate::renderer::walkable::ContextElement; use std::collections::HashMap; #[derive(Clone, Debug)] @@ -114,8 +114,8 @@ fn walk_path<'a>( mod tests { use super::*; use crate::parser::Filter; - use crate::renderer::renderable::Renderable; - use crate::renderer::walkable::Walkable; + use crate::renderer::context_element::Renderable; + use crate::renderer::context_element::Walkable; #[test] fn test_walk_path() {