class Slack::BlockKit::Layout::Actions

A block that is used to hold interactive elements.

api.slack.com/reference/messaging/blocks#actions

Constants

TYPE

Attributes

elements[RW]

Public Class Methods

new(block_id: nil) { |self| ... } click to toggle source
# File lib/slack/block_kit/layout/actions.rb, line 14
def initialize(block_id: nil)
  @block_id = block_id
  @elements = []

  yield(self) if block_given?
end

Public Instance Methods

append(element) click to toggle source
# File lib/slack/block_kit/layout/actions.rb, line 122
def append(element)
  @elements << element

  self
end
as_json(*) click to toggle source
# File lib/slack/block_kit/layout/actions.rb, line 128
def as_json(*)
  {
    type: TYPE,
    elements: @elements.map(&:as_json),
    block_id: @block_id
  }.compact
end
button(text:, action_id:, style: nil, emoji: nil, url: nil, value: nil) { |element| ... } click to toggle source
# File lib/slack/block_kit/layout/actions.rb, line 21
def button(text:, action_id:, style: nil, emoji: nil, url: nil, value: nil)
  element = Element::Button.new(
    text: text,
    action_id: action_id,
    style: style,
    emoji: emoji,
    url: url,
    value: value
  )

  yield(element) if block_given?

  append(element)
end
channel_select(placeholder:, action_id:, initial: nil, emoji: nil) { |element| ... } click to toggle source
# File lib/slack/block_kit/layout/actions.rb, line 36
def channel_select(placeholder:, action_id:, initial: nil, emoji: nil)
  element = Element::ChannelsSelect.new(
    placeholder: placeholder,
    action_id: action_id,
    initial: initial,
    emoji: emoji
  )

  yield(element) if block_given?

  append(element)
end
converstation_select(placeholder:, action_id:, initial: nil, emoji: nil) { |element| ... } click to toggle source
# File lib/slack/block_kit/layout/actions.rb, line 49
def converstation_select(placeholder:, action_id:, initial: nil, emoji: nil)
  element = Element::ConversationsSelect.new(
    placeholder: placeholder,
    action_id: action_id,
    initial: initial,
    emoji: emoji
  )

  yield(element) if block_given?

  append(element)
end
date_picker(action_id:, placeholder: nil, initial: nil, emoji: nil) { |element| ... } click to toggle source
# File lib/slack/block_kit/layout/actions.rb, line 62
def date_picker(action_id:, placeholder: nil, initial: nil, emoji: nil)
  element = Element::DatePicker.new(
    placeholder: placeholder,
    action_id: action_id,
    initial: initial,
    emoji: emoji
  )

  yield(element) if block_given?

  append(element)
end
external_select(placeholder:, action_id:, initial: nil, min_query_length: nil, emoji: nil) { |element| ... } click to toggle source
# File lib/slack/block_kit/layout/actions.rb, line 75
def external_select(placeholder:, action_id:, initial: nil, min_query_length: nil, emoji: nil)
  element = Element::ExternalSelect.new(
    placeholder: placeholder,
    action_id: action_id,
    initial: initial,
    min_query_length: min_query_length,
    emoji: emoji
  )

  yield(element) if block_given?

  append(element)
end
overflow_menu(action_id:) { |element| ... } click to toggle source
# File lib/slack/block_kit/layout/actions.rb, line 89
def overflow_menu(action_id:)
  element = Element::OverflowMenu.new(action_id: action_id)

  yield(element) if block_given?

  append(element)
end
static_select(placeholder:, action_id:, emoji: nil) { |element| ... } click to toggle source
# File lib/slack/block_kit/layout/actions.rb, line 97
def static_select(placeholder:, action_id:, emoji: nil)
  element = Element::StaticSelect.new(
    placeholder: placeholder,
    action_id: action_id,
    emoji: emoji
  )

  yield(element) if block_given?

  append(element)
end
users_select(placeholder:, action_id:, initial: nil, emoji: nil) { |element| ... } click to toggle source
# File lib/slack/block_kit/layout/actions.rb, line 109
def users_select(placeholder:, action_id:, initial: nil, emoji: nil)
  element = Element::UsersSelect.new(
    placeholder: placeholder,
    action_id: action_id,
    emoji: emoji,
    initial: initial
  )

  yield(element) if block_given?

  append(element)
end