From f0283edfc719bb81a0ffb8f45f6bfc3f1cb2edf0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcel=20M=C3=BCller?= Date: Tue, 8 May 2018 09:53:46 +0200 Subject: [PATCH] Prepare release candidate 2.0-rc1 --- .travis.yml | 6 +++--- Cargo.toml | 6 +++--- README.md | 38 ++++++++++++++++++++++++++++++++++++++ examples/full.rs | 3 ++- examples/switching.rs | 3 ++- src/backend.rs | 1 + 6 files changed, 49 insertions(+), 8 deletions(-) diff --git a/.travis.yml b/.travis.yml index fc24a8f..2c5185c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,9 +6,9 @@ rust: - stable script: - | - cargo build --features yaml,bin && - cargo test --features yaml,bin && - cargo doc --features yaml,bin + cargo build --features yaml_enc,bin_enc,ron_enc && + cargo test --features yaml_enc,bin_enc,ron_enc && + cargo doc --features yaml_enc,bin_enc,ron_enc env: global: - secure: RFX1Ke3uk8ZdrAGwKPP7FXqQfC6bkGMDzV5ut9s5da6ClvoafosJF4RBvXi5j8KhQP9Kyow7Z8IwtTExNHMIjlE0MguHsYdFBdkj9HdjrqBQHThx5vMOq3VY3bNq9ah83Q6idoTTpQvoZ380BSHznHz8E3rmKGbEA0Z1NigWlT8DFfgqI5nTa64/bvD8IzMTjkLax4pq1SjsG8v+UgwNxkuYE6Yl/mpQJ/xTCGYiFHLKk4EW8z2I5DcK/XqY+w42uFDP2BRvXdzuS937A0lGZtAiK3sKJCBDq/2Ulkz4+onkAo9QT0k9Eea9dSoxXDk3RJHzDb5wLANtubxAWyTKiyTlO3I81ogPmHevSv3xDXXwLBjPxwwIRI1qt/01Nod4yIT4fWfIxcW+rY/W5P4v5QbvAJ079v8be1lnwCEFP55WXfTFEypvKUmNpCTeY9nAKiLywpQuibi/TuHmVH+R9xWlJaXrJ8+fM+dkl57V7AnIKs3nnYmE/c5guUakJ46QVZZtSQRcFfD0QeZPM5WaqAjiZ52eP4y/Mi5Rjg4/noLjXoR3YWYxWZsT5b7U2hv/wEMTzERgHev3aPZttO7gr3ug/FDv0TP6PKPCLd/i+g0w4RKRGArcAXIBWHdeEhfOYuC8Q93gl3d/qutvgGdWF4sdBpaPRcwmaWD+FoEWjWQ= diff --git a/Cargo.toml b/Cargo.toml index f5a886f..8093370 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -3,12 +3,12 @@ authors = ["Marcel Müller "] description = "A modular and configurable database" documentation = "https://docs.rs/rustbreak" homepage = "https://github.com/TheNeikos/rustbreak" -keywords = ["database", "simple", "fast", "daybreak", "rustbreak"] +keywords = ["database", "simple", "fast", "rustbreak"] license = "MPL-2.0" name = "rustbreak" readme = "README.md" repository = "https://github.com/TheNeikos/rustbreak" -version = "2.0.0" +version = "2.0.0-rc1" [dependencies] failure = "0.1.1" @@ -36,7 +36,7 @@ serde_derive = "1" tempfile = "3" [features] -default = ["ron_enc"] +default = [] ron_enc = ["ron"] bin_enc = ["bincode", "base64"] yaml_enc = ["serde_yaml"] diff --git a/README.md b/README.md index 39061c4..b938a24 100644 --- a/README.md +++ b/README.md @@ -28,6 +28,44 @@ Features - Threadsafe - ron, bincode, or yaml storage +Quickstart +---------- + +Add this to your `Cargo.toml`: + +```toml +[dependencies.rustbreak] +version = "2" +features = ["ron_enc"] # You can also use "yaml_enc" or "bin_enc" + # Check the documentation to add your own! +``` + +```rust +# extern crate failure; +# extern crate rustbreak; +# use std::collections::HashMap; +use rustbreak::{MemoryDatabase, deser::Ron}; + +# fn main() { +# let func = || -> Result<(), failure::Error> { +let db = MemoryDatabase::, Ron>::memory(HashMap::new())?; + +println!("Writing to Database"); +db.write(|db| { + db.insert(0, String::from("world")); + db.insert(1, String::from("bar")); +}); + +db.read(|db| { + // db.insert("foo".into(), String::from("bar")); + // The above line will not compile since we are only reading + println!("Hello: {:?}", db.get(&0)); +})?; +# return Ok(()); }; +# func().unwrap(); +# } +``` + Usage ----- diff --git a/examples/full.rs b/examples/full.rs index 7404e44..d7b400d 100644 --- a/examples/full.rs +++ b/examples/full.rs @@ -51,6 +51,7 @@ fn do_main() -> Result<(), failure::Error> { fn main() { if let Err(e) = do_main() { - println!("An error has occurred at: \n{}", e.backtrace()); + eprintln!("An error has occurred at: \n{}", e.backtrace()); + ::std::process::exit(1); } } diff --git a/examples/switching.rs b/examples/switching.rs index 08da877..5e5b7e7 100644 --- a/examples/switching.rs +++ b/examples/switching.rs @@ -47,7 +47,8 @@ fn do_main() -> Result<(), failure::Error> { fn main() { if let Err(e) = do_main() { - println!("An error has occurred at: \n{}", e.backtrace()); + eprintln!("An error has occurred at: \n{}", e.backtrace()); + ::std::process::exit(1); } } diff --git a/src/backend.rs b/src/backend.rs index 1212c08..b475536 100644 --- a/src/backend.rs +++ b/src/backend.rs @@ -45,6 +45,7 @@ impl Backend for FileBackend { self.0.seek(SeekFrom::Start(0)).context(error::RustbreakErrorKind::Backend)?; self.0.set_len(0).context(error::RustbreakErrorKind::Backend)?; self.0.write_all(data).context(error::RustbreakErrorKind::Backend)?; + self.0.sync_all().context(error::RustbreakErrorKind::Backend)?; Ok(()) } }