Struct slack_blocks::blocks::section::build::SectionBuilder [−][src]
pub struct SectionBuilder<'a, Text> { /* fields omitted */ }Expand description
Build an Section block
Allows you to construct safely, with compile-time checks on required setter methods.
Required Methods
SectionBuilder::build() is only available if these methods have been called:
textorfield(s), both may be called.
Example
use slack_blocks::{blocks::Section, elems::Image, text, text::ToSlackPlaintext}; let block = Section::builder().text("foo".plaintext()) .field("bar".plaintext()) .field("baz".plaintext()) // alternatively: .fields(vec!["bar".plaintext(), "baz".plaintext()] .into_iter() .map(text::Text::from) ) .accessory(Image::builder().image_url("foo.png") .alt_text("pic of foo") .build()) .build();
Implementations
impl<'a, E> SectionBuilder<'a, E>[src]
impl<'a, E> SectionBuilder<'a, E>[src]pub fn accessory<B>(self, acc: B) -> Self where
B: Into<BlockElement<'a>>, [src]
pub fn accessory<B>(self, acc: B) -> Self where
B: Into<BlockElement<'a>>, [src]Set accessory (Optional)
pub fn text<T>(self, text: T) -> SectionBuilder<'a, Set<text>> where
T: Into<Text>, [src]
pub fn text<T>(self, text: T) -> SectionBuilder<'a, Set<text>> where
T: Into<Text>, [src]Add text (Required: this or field(s))
The text for the block, in the form of a text object 🔗.
Maximum length for the text in this field is 3000 characters.
pub fn fields<I>(self, fields: I) -> SectionBuilder<'a, Set<text>> where
I: IntoIterator<Item = Text>, [src]
pub fn fields<I>(self, fields: I) -> SectionBuilder<'a, Set<text>> where
I: IntoIterator<Item = Text>, [src]Set fields (Required: this or text)
A collection of text objects 🔗.
Any text objects included with fields will be rendered in a compact format that allows for 2 columns of side-by-side text.
Maximum number of items is 10.
Maximum length for the text in each item is 2000 characters.
pub fn field<T>(self, text: T) -> SectionBuilder<'a, Set<text>> where
T: Into<Text>, [src]
pub fn field<T>(self, text: T) -> SectionBuilder<'a, Set<text>> where
T: Into<Text>, [src]Append a single field to fields.
pub fn child<T>(self, text: T) -> SectionBuilder<'a, Set<text>> where
T: Into<Text>, [src]
This is supported on crate feature xml only.
pub fn child<T>(self, text: T) -> SectionBuilder<'a, Set<text>> where
T: Into<Text>, [src]xml only.XML macro children, appends fields to the Section.
To set text, use the text attribute.
use mox::mox; use slack_blocks::{blocks::Section, mox::*, text, text::ToSlackPlaintext}; let xml = mox! { <section_block text={"Section".plaintext()}> <text kind=plain>"Foo"</text> <text kind=plain>"Bar"</text> </section_block> }; let equiv = Section::builder().text("Section".plaintext()) .field("Foo".plaintext()) .field("Bar".plaintext()) .build(); assert_eq!(xml, equiv);
pub fn block_id<S>(self, block_id: S) -> Self where
S: Into<Cow<'a, str>>, [src]
pub fn block_id<S>(self, block_id: S) -> Self where
S: Into<Cow<'a, str>>, [src]Set block_id (Optional)
A string acting as a unique identifier for a block.
You can use this block_id when you receive an interaction payload
to identify the source of the action 🔗.
If not specified, a block_id will be generated.
Maximum length for this field is 255 characters.
impl<'a> SectionBuilder<'a, Set<text>>[src]
impl<'a> SectionBuilder<'a, Set<text>>[src]pub fn build(self) -> Section<'a>[src]
pub fn build(self) -> Section<'a>[src]All done building, now give me a darn actions block!
no method name 'build' found for struct 'SectionBuilder<...>'? Make sure all required setter methods have been called. See docs forSectionBuilder.
use slack_blocks::blocks::Section; let foo = Section::builder().build(); // Won't compile!
use slack_blocks::{blocks::Section, compose::text::ToSlackPlaintext, elems::Image}; let block = Section::builder().text("foo".plaintext()) .accessory(Image::builder().image_url("foo.png") .alt_text("pic of foo") .build()) .build();
Trait Implementations
Auto Trait Implementations
impl<'a, Text> RefUnwindSafe for SectionBuilder<'a, Text> where
Text: RefUnwindSafe,
Text: RefUnwindSafe,
impl<'a, Text> Send for SectionBuilder<'a, Text> where
Text: Send,
Text: Send,
impl<'a, Text> Sync for SectionBuilder<'a, Text> where
Text: Sync,
Text: Sync,
impl<'a, Text> Unpin for SectionBuilder<'a, Text> where
Text: Unpin,
Text: Unpin,
impl<'a, Text> UnwindSafe for SectionBuilder<'a, Text> where
Text: UnwindSafe,
Text: UnwindSafe,
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]pub fn borrow_mut(&mut self) -> &mut T[src]
pub fn borrow_mut(&mut self) -> &mut T[src]Mutably borrows from an owned value. Read more