ohmers 0.1.1

A library for retrieving and storing objects in a Redis server
#[macro_use(model, create, incr)] extern crate ohmers;
extern crate redis;
extern crate rustc_serialize;

use ohmers::{Counter, Ohmer};
use redis::Commands;
use rustc_serialize::Encodable;

model!(derive { Clone } Chair {
        uniques {
            location:u32 = 0;
        };
        indices {
            color:u32 = 0;
        };
        legs:Counter = Counter;
        });

#[test]
fn test_model_delete() {
    let client = redis::Client::open("redis://127.0.0.1/").unwrap();

    for key in client.scan_match::<_, String>("*Chair*").unwrap().into_iter() {
        let _:bool = client.del(key).unwrap();
    }

    let chair1 = create!(Chair {
            color: 0x0000FF,
            location: 1,
            }, &client).unwrap();
    incr!(chair1.legs, &client).unwrap();
    chair1.delete(&client).unwrap();
    assert_eq!(
            vec!["Chair:id".to_owned()],
            client.scan_match::<_, String>("*Chair*").unwrap().into_iter().collect::<Vec<_>>()
            );
}