Class: Slack::BlockKit::Element::MultiUsersSelectElement

Inherits:
UsersSelectElement show all
Defined in:
lib/slack/block_kit/element/multi_users_select_element.rb

Instance Attribute Summary collapse

Attributes inherited from UsersSelectElement

#initial_user

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 SelectElement

#valid?

Methods inherited from Slack::BlockKit::Element

[], #type, #valid?

Constructor Details

#initializeMultiUsersSelectElement

Returns a new instance of MultiUsersSelectElement.



19
20
21
22
# File 'lib/slack/block_kit/element/multi_users_select_element.rb', line 19

def initialize
  super
  @initial_users = []
end

Instance Attribute Details

#initial_usersObject (readonly)

Returns the value of attribute initial_users.



10
11
12
# File 'lib/slack/block_kit/element/multi_users_select_element.rb', line 10

def initial_users
  @initial_users
end

#max_selected_itemsObject

Returns the value of attribute max_selected_items.



10
11
12
# File 'lib/slack/block_kit/element/multi_users_select_element.rb', line 10

def max_selected_items
  @max_selected_items
end

Class Method Details

.populate(hash, object) ⇒ Object



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

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

  super(hash, object)
end

Instance Method Details

#to_hObject



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

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