class Slack::BlockKit::Element::StaticSelectElement
Attributes
initial_option[R]
option_groups[R]
options[R]
Public Class Methods
new()
click to toggle source
# File lib/slack/block_kit/element/static_select_element.rb, line 18 def initialize @options = TypeRestrictedArray.new(CompositionObjects::Option) @option_groups = TypeRestrictedArray.new(CompositionObjects::OptionGroup) end
populate(hash, object)
click to toggle source
Calls superclass method
Slack::BlockKit::Element::SelectElement::populate
# File lib/slack/block_kit/element/static_select_element.rb, line 10 def self.populate(hash, object) hash[:options].each(&object.options.method(:<<)) if hash.key?(:options) hash[:option_groups].each(&object.option_groups.method(:<<)) if hash.key?(:option_groups) object.initial_option = hash[:initial_option] if hash.key?(:initial_option) super(hash, object) end
Public Instance Methods
initial_option=(obj)
click to toggle source
# File lib/slack/block_kit/element/static_select_element.rb, line 30 def initial_option=(obj) raise TypeError, 'text must be a Option Object' unless obj.is_a?(CompositionObjects::Option) @initial_option = obj end
to_h()
click to toggle source
Calls superclass method
Slack::BlockKit::Element::SelectElement#to_h
# File lib/slack/block_kit/element/static_select_element.rb, line 36 def to_h super.merge( options: options.map(&:to_h), option_groups: option_groups.map(&:to_h), initial_option: initial_option&.to_h ).compact end
valid?()
click to toggle source
Either options or option_groups
must exist and be non-empty.
# File lib/slack/block_kit/element/static_select_element.rb, line 24 def valid? if @options.nil? || @options.empty? then !@option_groups.empty? else !@options&.empty? end end