class Slack::BlockKit::Element::SelectElement

Attributes

confirm[R]
placeholder[R]

Public Class Methods

populate(hash, object) click to toggle source
Calls superclass method Slack::BlockKit::Element::populate
# File lib/slack/block_kit/element/select_element.rb, line 9
def self.populate(hash, object)
  object.placeholder = hash.fetch(:placeholder)
  object.confirm = hash[:confirm] if hash.key?(:confirm)

  super(hash, object)
end

Public Instance Methods

confirm=(obj) click to toggle source
# File lib/slack/block_kit/element/select_element.rb, line 28
def confirm=(obj)
  unless obj.is_a?(CompositionObjects::ConfirmationDialog)
    raise TypeError, 'confirm must be a ConfirmationDialog Object'
  end

  @confirm = obj
end
placeholder=(obj) click to toggle source
# File lib/slack/block_kit/element/select_element.rb, line 20
def placeholder=(obj)
  raise TypeError, 'placeholder must be a Text Object' unless obj.is_a?(CompositionObjects::Text)
  raise TypeError, 'placeholder must be plain_text' unless obj.type == :plain_text
  raise RangeError, 'placeholder is max 150 characters' unless obj.text.size <= 150

  @placeholder = obj
end
to_h() click to toggle source
Calls superclass method Slack::BlockKit::Element#to_h
# File lib/slack/block_kit/element/select_element.rb, line 36
def to_h
  super.merge(
    placeholder: placeholder.to_h,
    confirm: confirm&.to_h
  )
end
valid?() click to toggle source
# File lib/slack/block_kit/element/select_element.rb, line 16
def valid?
  !(@placeholder.nil? || @placeholder.empty?)
end