gmaps-static 0.0.1

A URL builder for Google Maps Static APIs
Documentation
use std::fmt;
use std::str::FromStr;

pub static TINY: &MarkerSize = &MarkerSize::Tiny;
pub static MID: &MarkerSize = &MarkerSize::Mid;
pub static SMALL: &MarkerSize = &MarkerSize::Small;

#[derive(Clone)]
pub enum MarkerSize {
    Tiny,
    Mid,
    Small,
}

impl fmt::Display for MarkerSize {
    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
        use MarkerSize::*;
        write!(
            f,
            "{}",
            match &self {
                Tiny => "tiny",
                Mid => "mid",
                Small => "small",
            }
        )
    }
}

impl FromStr for MarkerSize {
    type Err = String;

    fn from_str(input: &str) -> Result<MarkerSize, Self::Err> {
        use MarkerSize::*;
        match input {
            "tiny" => Ok(Tiny),
            "mid" => Ok(Mid),
            "small" => Ok(Small),
            x => Err(format!("Invalid value for MarkerSize. Given '{}'", x)),
        }
    }
}