Function flowclib::dumper::dump_tables::dump_functions [−][src]
pub fn dump_functions(
flow: &Flow,
tables: &GenerationTables,
output_dir: &Path
) -> Result<String>
dump a flow’s functions graph as a .dot file to visualize dependencies
Example
use std::env; use url::Url; use provider::content::provider::Provider; use provider::errors::Result; use flowclib::model::process::Process::FlowProcess; struct DummyProvider {} impl Provider for DummyProvider { fn resolve_url(&self, url: &str, default_filename: &str, _ext: &[&str]) -> Result<(String, Option<String>)> { Ok((url.to_string(), None)) } // Return a flow definition for the content for the example fn get_contents(&self, url: &str) -> Result<Vec<u8>> { Ok("flow = \"dummy\"".as_bytes().to_owned()) } } let dummy_provider = DummyProvider {}; let mut url = url::Url::from_file_path(env::current_dir().unwrap()).unwrap(); url = url.join("samples/hello-world-simple/context.toml").unwrap(); if let FlowProcess(mut flow) = flowclib::compiler::loader::load(&url.to_string(), &dummy_provider).unwrap() { let tables = flowclib::compiler::compile::compile(&mut flow).unwrap(); let output_dir = tempdir::TempDir::new("flow").unwrap().into_path(); flowclib::dumper::dump_tables::dump_functions(&flow, &tables, &output_dir).unwrap(); }