This crate provides the model assembly capability, to merge files into a single in-memory Model
.
A tool can add files one-by-one, or from a directory, and then process them all into a single model. This implementation understands the different registered file extensions so that it can read files in different representations and assemble them seamlessly.
The following is the simple, and most common, method of using the assembler. This uses the
default FileTypeRegistry
and will search for all models in the set of paths specified in
the environment variable "SMITHY_PATH
".
use atelier_assembler::ModelAssembler;
use atelier_core::error::Result;
use atelier_core::model::Model;
use std::convert::TryFrom;
let env_assembler = ModelAssembler::default();
let model: Result<Model> = Model::try_from(env_assembler);
For more information, see the Rust Atelier book.
Version 0.1.4
- Refactored constructors for ModelAssembler, just one 'new' function now.
Version 0.1.3
- Added validation for swaits' resolver test.
Version 0.1.2
- Implemented cargo-atelier's lint and validate should work on models built from multiple namespace
files using the model assembler.
- Fixed compiler warnings in this crate.
Version 0.1.1
- Refactored to produce:
- A FileReader function type that parses a file type.
- A FileType that matches a name, reader, and MIME type.
- A FileTypeRegistry that matches one or more file extensions to a file type.
Version 0.1.0
- Extracted from the atelier_lib crate.