gauc 0.1.6

Couchbase Rust Adapter / CLI
Documentation

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

  • get
  • store

Wrapped functions

  • lcb_connect
  • lcb_create
  • lcb_destroy
  • lcb_get3
  • lcb_get_bootstrap_status
  • lcb_install_callback3
  • lcb_store3
  • lcb_strerror
  • lcb_wait

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>    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.