ruml 0.1.0

Generate plantuml code from Rust's modules.
Documentation
use super::Entity;

pub trait PlantUml {
    fn render(&self) -> String;
    fn render_dependencies(&self, source: Vec<String>) -> String;
}

pub fn render_plantuml(entities: Vec<Entity>) -> String {
    let rendered: Vec<String> = entities
        .clone()
        .into_iter()
        .map(|ent| format!("{}}}", ent.render()))
        .collect();
    let rendered = rendered.join("\n\n");

    let source: Vec<String> = entities
        .clone()
        .into_iter()
        .map(|x| x.name.to_string())
        .collect();

    let dep: Vec<String> = entities
        .clone()
        .into_iter()
        .map(|ent| ent.render_dependencies(source.clone()))
        .collect();
    let dep = dep.join("\n\n");

    format!("@startuml\n\n{}\n{}\n@enduml", rendered, dep)
}