toml-config

Loads and decodes TOML files into Rust structures

Crates.io

Documentation

Examples

```rust extern crate rustcserialize; extern crate tomlconfig;

use rustcserialize::{Encodable, Decodable}; use std::path::Path; use tomlconfig::ConfigFactory;

[derive(RustcEncodable, RustcDecodable)]

struct Config { nested: NestedConfig }

// Defaults will be used for missing/invalid configurations in the TOML config file impl Default for Config { fn default() -> Config { Config { nested: NestedConfig::default() } } }

[derive(RustcEncodable, RustcDecodable)]

struct NestedConfig { value: String, values: Vec }

impl Default for NestedConfig { fn default() -> NestedConfig { NestedConfig { value: "default".to_owned(), values: vec![0, 0, 0] } } }

/* config.toml: [nested] value = "test" values = [1, 2, 3] */

let config: Config = ConfigFactory::load(Path::new("config.toml")); asserteq!(config.nested.value, "test"); asserteq!(config.nested.values, vec![1, 2, 3]); ```