Class: Slack::BlockKit::Element::MultiConversationsSelectElement

Inherits:
ConversationsSelectElement show all
Defined in:
lib/slack/block_kit/element/multi_conversations_select_element.rb

Instance Attribute Summary collapse

Attributes inherited from ConversationsSelectElement

#filter, #initial_conversation, #response_url_enabled

Attributes inherited from SelectElement

#confirm, #placeholder

Attributes inherited from Slack::BlockKit::Element

#action_id

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from ConversationsSelectElement

#response_url_enabled!

Methods inherited from SelectElement

#valid?

Methods inherited from Slack::BlockKit::Element

[], #type, #valid?

Constructor Details

#initializeMultiConversationsSelectElement

Returns a new instance of MultiConversationsSelectElement.



18
19
20
21
# File 'lib/slack/block_kit/element/multi_conversations_select_element.rb', line 18

def initialize
  super
  @initial_conversations = []
end

Instance Attribute Details

#initial_conversationsObject (readonly)

Returns the value of attribute initial_conversations.



9
10
11
# File 'lib/slack/block_kit/element/multi_conversations_select_element.rb', line 9

def initial_conversations
  @initial_conversations
end

#max_selected_itemsObject

Returns the value of attribute max_selected_items.



9
10
11
# File 'lib/slack/block_kit/element/multi_conversations_select_element.rb', line 9

def max_selected_items
  @max_selected_items
end

Class Method Details

.populate(hash, object) ⇒ Object



11
12
13
14
15
16
# File 'lib/slack/block_kit/element/multi_conversations_select_element.rb', line 11

def self.populate(hash, object)
  hash[:initial_conversations].each(&object.initial_conversations.method(:<<)) if hash.key?(:initial_conversations)
  object.max_selected_items = hash[:max_selected_items] if hash.key?(:max_selected_items)

  super(hash, object)
end

Instance Method Details

#to_hObject



29
30
31
32
33
34
# File 'lib/slack/block_kit/element/multi_conversations_select_element.rb', line 29

def to_h
  super.merge(
    initial_conversations: initial_conversations&.to_h,
    max_selected_items: max_selected_items || 1
  ).compact
end