1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
use crate::types::image::Image; #[derive(Clone, Debug, Default, Eq, PartialEq)] pub struct ImageBuilder { text: String, url: String, footer: bool, } impl ImageBuilder { pub fn new() -> Self { Self::default() } pub fn footer(mut self, value: bool) -> Self { self.footer = value; self } pub fn text(mut self, text: impl Into<String>) -> Self { self.text = text.into(); self } pub fn url(mut self, url: impl Into<String>) -> Self { self.url = url.into(); self } pub fn build(self) -> Image { Image::from(self.text, self.url, self.footer) } } impl Image { pub fn builder() -> ImageBuilder { ImageBuilder::new() } }