Struct slack_blocks::blocks::Actions [−][src]
pub struct Actions<'a> { /* fields omitted */ }
Expand description
Implementations
impl<'a> Actions<'a>
[src]
impl<'a> Actions<'a>
[src]pub fn builder() -> ActionsBuilderInit<'a>
[src]
pub fn builder() -> ActionsBuilderInit<'a>
[src]Build a new Actions block.
For example, see docs for ActionsBuilder.
pub fn new() -> Self
[src]
👎 Deprecated since 0.19.1: use Actions::builder
pub fn new() -> Self
[src]use Actions::builder
Create an empty Actions block (shorthand for Default::default()
)
Example
use slack_blocks::blocks; let actions: blocks::Block = blocks::Actions::new().into(); // < send block to slack's API >
pub fn with_block_id(self, block_id: impl Into<Cow<'a, str>>) -> Self
[src]
👎 Deprecated since 0.19.1: use Actions::builder
pub fn with_block_id(self, block_id: impl Into<Cow<'a, str>>) -> Self
[src]use Actions::builder
Set the block_id
for interactions on an existing Actions
Arguments
block_id
- A string acting as a unique identifier for a block. You can use thisblock_id
when you receive an interaction payload to identify the source of the action 🔗. If not specified, ablock_id
will be generated. Maximum length for this field is 255 characters.
Example
use slack_blocks::blocks::{Actions, Block}; let actions = Actions::new().with_block_id("tally_ho"); let block: Block = actions.into(); // < send block to slack's API >
pub fn from_elements<Iter>(elements: Iter) -> Result<Self, ()> where
Iter: IntoIterator<Item = BlockElement<'a>>,
[src]
👎 Deprecated since 0.19.1: use Actions::builder
pub fn from_elements<Iter>(elements: Iter) -> Result<Self, ()> where
Iter: IntoIterator<Item = BlockElement<'a>>,
[src]use Actions::builder
Populate an Actions block with a collection of BlockElement
s,
which may not be supported by Actions
blocks.
If you can create a collection of actions::BlockElement
,
either by creating them directly or invoking BlockElement::into
,
use from_action_elements
.
Arguments
elements
- An array of interactive element objects 🔗 For a list ofBlockElement
types that are, seeBlockElement
. There is a maximum of 5 elements in each action block.
Errors
Errors if the BlockElement
is one that is not supported by
Actions
blocks.
For a list of BlockElement
types that are supported, see ::blocks::actions::BlockElement
.
Runtime Validation
only validates that the block elements are compatible with Actions
,
for full runtime model validation see the validate
method.
Example
use slack_blocks::{blocks::{Actions, Block}, compose, elems}; let btn = elems::Button::from_text_and_action_id("Button", "123"); let actions = Actions::from_elements(vec![btn.into()])?; let block: Block = actions.into(); // < send block to slack's API >
pub fn from_action_elements<Iter>(elements: Iter) -> Self where
Iter: IntoIterator<Item = SupportedElement<'a>>,
[src]
👎 Deprecated since 0.19.1: use Actions::builder
pub fn from_action_elements<Iter>(elements: Iter) -> Self where
Iter: IntoIterator<Item = SupportedElement<'a>>,
[src]use Actions::builder
Populate an Actions block with a collection of BlockElement
s that
are supported by Actions
blocks.
This also can be called via the From<Vec<self::SupportedElement>>
implementation.
If you have a collection of elements that may not be supported,
see from_elements
.
Arguments
elements
- An array of interactive element objects 🔗 For a list ofBlockElement
types that are supported, seeBlockElement
. There is a maximum of 5 elements in each action block. Note that if you only ever want 1 item you can choose to pass itSome(element)
ORstd::iter::once(element)
instead of aVec
, bypassing an expensive allocation. Iterator and Option implement IntoIterator 🔗.
Errors
Errors if the BlockElement
is one that is not supported by
Actions
blocks.
Runtime Validation
only validates that the block elements are compatible with Actions
,
for full runtime model validation see the validate
method.
Example
use slack_blocks::{blocks::{Actions, Block}, compose, elems}; let btn = elems::Button::from_text_and_action_id("Button", "123"); let actions = Actions::from_action_elements(vec![btn.into()]); let block: Block = actions.into(); // < send block to slack's API >
pub fn validate(&self) -> Result<(), ValidationErrors>
[src]
pub fn validate(&self) -> Result<(), ValidationErrors>
[src]Validate that this Section block agrees with Slack’s model requirements
Errors
- If
with_block_id
was called with a block id longer than 255 chars - If
from_elements
orfrom_action_elements
was called with more than 5 elements.
Example
use slack_blocks::{blocks, compose}; let long_string = std::iter::repeat(' ').take(256).collect::<String>(); let block = blocks::Actions::from_action_elements(vec![]).with_block_id(long_string); assert!(matches!(block.validate(), Err(_)));
Trait Implementations
impl<'de, 'a> Deserialize<'de> for Actions<'a>
[src]
impl<'de, 'a> Deserialize<'de> for Actions<'a>
[src]fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]Deserialize this value from the given Serde deserializer. Read more
impl<'a> From<Vec<SupportedElement<'a>, Global>> for Actions<'a>
[src]
impl<'a> From<Vec<SupportedElement<'a>, Global>> for Actions<'a>
[src]fn from(src: Vec<SupportedElement<'a>>) -> Self
[src]
fn from(src: Vec<SupportedElement<'a>>) -> Self
[src]Performs the conversion.
impl<'a> TryFrom<BlockElement<'a>> for Actions<'a>
[src]
impl<'a> TryFrom<BlockElement<'a>> for Actions<'a>
[src]impl<'a> StructuralPartialEq for Actions<'a>
[src]
Auto Trait Implementations
impl<'a> RefUnwindSafe for Actions<'a>
impl<'a> Send for Actions<'a>
impl<'a> Sync for Actions<'a>
impl<'a> Unpin for Actions<'a>
impl<'a> UnwindSafe for Actions<'a>
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
impl<T> ToOwned for T where
T: Clone,
[src]
impl<T> ToOwned for T where
T: Clone,
[src]type Owned = T
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn to_owned(&self) -> T
[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)
[src]
pub fn clone_into(&self, target: &mut T)
[src]🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>,
[src]
T: for<'de> Deserialize<'de>,