class Slack::BlockKit::Composition::OptionGroup
Provides a way to group options in a select menu.
api.slack.com/reference/messaging/composition-objects#option-group api.slack.com/reference/messaging/block-elements#select
Attributes
options[RW]
Public Class Methods
new(label:, emoji: nil) { |self| ... }
click to toggle source
# File lib/slack/block_kit/composition/option_group.rb, line 13 def initialize(label:, emoji: nil) @label = PlainText.new(text: label, emoji: emoji) @options = [] yield(self) if block_given? end
Public Instance Methods
as_json(*)
click to toggle source
# File lib/slack/block_kit/composition/option_group.rb, line 26 def as_json(*) { label: @label.as_json, options: @options.map(&:as_json) } end
option(text:, value:, emoji: nil, initial: false)
click to toggle source
# File lib/slack/block_kit/composition/option_group.rb, line 20 def option(text:, value:, emoji: nil, initial: false) @options << Option.new(text: text, value: value, emoji: emoji, initial: initial) self end