openml 0.1.2

A rust interface to [OpenML](http://openml.org/).
Documentation
//! Cached access to the OpenML REST API

mod api_types;
mod file_lock;
mod impls_from_json;
mod impls_from_openml;
mod web_access;

use std::borrow::Cow;

pub trait Id {
    fn as_string(&self) -> Cow<str>;
    fn as_u32(&self) -> u32;
}

impl Id for String {
    #[inline(always)]
    fn as_string(&self) -> Cow<str> {
        Cow::from(self.as_str())
    }

    #[inline(always)]
    fn as_u32(&self) -> u32 {
        self.parse().unwrap()
    }
}

impl<'a> Id for &'a str {
    #[inline(always)]
    fn as_string(&self) -> Cow<str> {
        Cow::from(*self)
    }

    #[inline(always)]
    fn as_u32(&self) -> u32 {
        self.parse().unwrap()
    }
}

impl Id for u32 {
    #[inline(always)]
    fn as_string(&self) -> Cow<str> {
        Cow::from(format!("{}", self))
    }

    #[inline(always)]
    fn as_u32(&self) -> u32 {
        *self
    }
}