Crate quire [] [src]

Yaml-based configuration parsing and validation library

Example

extern crate quire;
extern crate rustc_serialize;
use quire::{parse_config, Options};
use quire::validate::{Structure, Scalar};

#[derive(RustcDecodable)]
struct Config {
    item1: String,
    item2: Option<String>,
}

fn validator<'static>() -> Structure<'static> {
    Structure::new()
    .member("item1", Scalar::new())
    .member("item2", Scalar::new().optional())
}

let cfg: Config;
cfg = parse_config("config.yaml", &validator(), &Options::default())
      .expect("valid config");

Modules

ast

Abstract syntax tree

validate

Validators for your config

Structs

De

A wrapper around type that has Decodable implementation

ErrorCollector

An internal structure to track list of errors

ErrorList

List of errors that were encountered during configuration file parsing

Options

Options for parsing configuration file

Pos

Source code position

Enums

Error

Single error when of parsing configuration file

Include

The kind of include tag that encountered in config

Functions

emit_ast

Emit abstract syntax tree we just parsed

emit_object

Emit encodable object in yaml form

parse_config

Parse configuration from a file

parse_string

Parse configuration from a string

raw_parse

Raw parser of the yaml to ast