gauc

Couchbase Rust Adapter / CLI

Why gauc? "gauc" is czech slang term for couch.

This project was originaly inspired by couchbase-rs

Status

Build Status Crates.io Crates.io Crates.io

Prerequisites

Features

High Level Client Functions

Wrapped functions

Getting started

Sources

git clone https://github.com/korczis/gauc.git

First Build

$ cargo build Compiling strsim v0.5.1 Compiling bitflags v0.7.0 Compiling ansi_term v0.9.0 Compiling vec_map v0.6.0 Compiling libc v0.2.16 Compiling unicode-segmentation v0.1.2 Compiling unicode-width v0.1.3 Compiling term_size v0.2.1 ... ... ... Compiling clap v2.14.0 Compiling gauc v0.1.0 (file:///Users/tomaskorcak/dev/microcrawler/gauc) Finished debug [unoptimized + debuginfo] target(s) in 16.33 secs

Build Examples

For list of all examples see examples folder

couchbase - Low Level Couchbase Access

$ cargo build --example couchbase Finished debug [unoptimized + debuginfo] target(s) in 0.0 secs

hello_world - Initialize High Level Couchbase Client

$ cargo build --example hello_world Compiling gauc v0.1.0 (file:///Users/tomaskorcak/dev/microcrawler/gauc) Finished debug [unoptimized + debuginfo] target(s) in 1.7 secs

Example

This simple example demonstrates how to use gauc

Source

``` extern crate gauc;

use gauc::client::*;

fn main() { let mut client = Client::new("couchbase://localhost/default");

// Store some data
client.store("foo", "{\"msg\": \"This is test!\"}", |res| {
    if let Ok(response) = res {
        println!("Created new document, CAS: {}", response.cas)
    }
});

// Get data
client.get("foo", |res| {
    if let Ok(response) = res {
        println!("{} - {}", response.key().unwrap(), response.value().unwrap())
    }
});

} ```

Output

$ ./target/debug/examples/hello_world Created new document, CAS: 1476585187967238144 foo - {"msg": "This is test!"}

Usage

Show help

``` $ ./target/debug/gauc -h Couchbase Rust Adapter / CLI 0.1.5 Tomas Korcak korczis@gmail.com

USAGE: gauc [FLAGS] [OPTIONS]

FLAGS: -h, --help Prints help information -i, --interactive Interactive mode -V, --version Prints version information -v, --verbose Verbose mode

OPTIONS: -u, --url URL - connection string [default: couchbase://localhost/default] ```

License

Copyright 2016 Tomas Korcak korczis@gmail.com.

Licensed under the MIT License.

See LICENSE for further details.