Struct slack_messaging::blocks::Image
source · pub struct Image { /* private fields */ }Expand description
Image block representation.
Example
use slack_messaging::blocks::Image;
use serde_json::json;
let image = Image::new()
.set_block_id("image4")
.title("Please enjoy this photo of a kitten")
.set_image_url("http://placekitten.com/500/500")
.set_alt_text("An incredibly cute kitten.");
let expected = json!({
"type": "image",
"block_id": "image4",
"title": {
"type": "plain_text",
"text": "Please enjoy this photo of a kitten",
"emoji": true
},
"image_url": "http://placekitten.com/500/500",
"alt_text": "An incredibly cute kitten."
});
let image_json = serde_json::to_value(image).unwrap();
assert_eq!(image_json, expected);Implementations§
source§impl Image
impl Image
sourcepub fn new() -> Self
pub fn new() -> Self
Constructs an Image block.
use slack_messaging::blocks::Image;
use serde_json::json;
let image = Image::new();
let expected = json!({
"type": "image",
"image_url": "",
"alt_text": ""
});
let image_json = serde_json::to_value(image).unwrap();
assert_eq!(image_json, expected);sourcepub fn set_image_url<T: Into<String>>(self, url: T) -> Self
pub fn set_image_url<T: Into<String>>(self, url: T) -> Self
Sets image_url field.
use slack_messaging::blocks::Image;
use serde_json::json;
let image = Image::new().set_image_url("http://placekitten.com/500/500");
let expected = json!({
"type": "image",
"image_url": "http://placekitten.com/500/500",
"alt_text": ""
});
let image_json = serde_json::to_value(image).unwrap();
assert_eq!(image_json, expected);sourcepub fn set_alt_text<T: Into<String>>(self, alt: T) -> Self
pub fn set_alt_text<T: Into<String>>(self, alt: T) -> Self
Sets alt_text field.
use slack_messaging::blocks::Image;
use serde_json::json;
let image = Image::new().set_alt_text("An incredibly cute kitten.");
let expected = json!({
"type": "image",
"image_url": "",
"alt_text": "An incredibly cute kitten."
});
let image_json = serde_json::to_value(image).unwrap();
assert_eq!(image_json, expected);sourcepub fn set_title(self, text: Text) -> Self
pub fn set_title(self, text: Text) -> Self
Sets title field.
use slack_messaging::blocks::Image;
use slack_messaging::blocks::elements::Text;
use serde_json::json;
let image = Image::new()
.set_title(Text::plain("Please enjoy this photo of a kitten"));
let expected = json!({
"type": "image",
"title": {
"type": "plain_text",
"text": "Please enjoy this photo of a kitten",
"emoji": true
},
"image_url": "",
"alt_text": ""
});
let image_json = serde_json::to_value(image).unwrap();
assert_eq!(image_json, expected);sourcepub fn title<T: Into<String>>(self, title: T) -> Self
pub fn title<T: Into<String>>(self, title: T) -> Self
Sets title field from string. This is a shorthand for set_text method.
use slack_messaging::blocks::Image;
use serde_json::json;
let image = Image::new().title("Please enjoy this photo of a kitten");
let expected = json!({
"type": "image",
"title": {
"type": "plain_text",
"text": "Please enjoy this photo of a kitten",
"emoji": true
},
"image_url": "",
"alt_text": ""
});
let image_json = serde_json::to_value(image).unwrap();
assert_eq!(image_json, expected);sourcepub fn set_block_id<T: Into<String>>(self, block_id: T) -> Self
pub fn set_block_id<T: Into<String>>(self, block_id: T) -> Self
Sets block_id field.
use slack_messaging::blocks::Image;
use serde_json::json;
let image = Image::new().set_block_id("image4");
let expected = json!({
"type": "image",
"block_id": "image4",
"image_url": "",
"alt_text": ""
});
let image_json = serde_json::to_value(image).unwrap();
assert_eq!(image_json, expected);