labrador 0.2.3

Labrador - Mini thirdpart client for rust.
Documentation
mod text;
mod image;
mod voice;
mod video;
mod articles;
mod update_button;
mod template_card;

use crate::ReplyRenderer;
pub use self::text::CpTextReply;
pub use self::image::CpImageReply;
pub use self::voice::CpVoiceReply;
pub use self::video::CpVideoReply;
pub use self::articles::CpArticlesReply;
pub use self::update_button::*;
pub use self::template_card::*;


#[allow(unused)]
#[derive(Debug, Clone)]
pub enum CpReply {
    TextReply(CpTextReply),
    ImageReply(CpImageReply),
    VoiceReply(CpVoiceReply),
    VideoReply(CpVideoReply),
    ArticlesReply(CpArticlesReply),
    UpdateButtonReply(CpUpdateButtonReply),
    TemplateCard(CpTemplateCardTextReply),
}

#[allow(unused)]
impl CpReply {
    pub fn render(&self) -> String {
        let reply = match *self {
            CpReply::TextReply(ref r) => r.render(),
            CpReply::ImageReply(ref r) => r.render(),
            CpReply::VoiceReply(ref r) => r.render(),
            CpReply::VideoReply(ref r) => r.render(),
            CpReply::ArticlesReply(ref r) => r.render(),
            CpReply::TemplateCard(ref r) => r.render(),
            CpReply::UpdateButtonReply(ref r) => r.render(),
        };
        reply
    }
}