Class: Slack::BlockKit::Element
- Inherits:
-
Object
- Object
- Slack::BlockKit::Element
show all
- Defined in:
- lib/slack/block_kit/element.rb,
lib/slack/block_kit/element/image_element.rb,
lib/slack/block_kit/element/button_element.rb,
lib/slack/block_kit/element/select_element.rb,
lib/slack/block_kit/element/overflow_element.rb,
lib/slack/block_kit/element/date_picker_element.rb,
lib/slack/block_kit/element/users_select_element.rb,
lib/slack/block_kit/element/static_select_element.rb,
lib/slack/block_kit/element/channels_select_element.rb,
lib/slack/block_kit/element/external_select_element.rb,
lib/slack/block_kit/element/multi_users_select_element.rb,
lib/slack/block_kit/element/multi_static_select_element.rb,
lib/slack/block_kit/element/conversations_select_element.rb,
lib/slack/block_kit/element/multi_channels_select_element.rb,
lib/slack/block_kit/element/multi_external_select_element.rb,
lib/slack/block_kit/element/multi_conversations_select_element.rb
Defined Under Namespace
Classes: ButtonElement, ChannelsSelectElement, ConversationsSelectElement, DatePickerElement, ExternalSelectElement, ImageElement, MultiChannelsSelectElement, MultiConversationsSelectElement, MultiExternalSelectElement, MultiStaticSelectElement, MultiUsersSelectElement, OverflowElement, SelectElement, StaticSelectElement, UsersSelectElement
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
Instance Attribute Details
#action_id ⇒ Object
Returns the value of attribute action_id.
6
7
8
|
# File 'lib/slack/block_kit/element.rb', line 6
def action_id
@action_id
end
|
Class Method Details
.[](hash) ⇒ Object
13
14
15
|
# File 'lib/slack/block_kit/element.rb', line 13
def self.[](hash)
new.tap { |obj| populate(hash, obj) }
end
|
.populate(hash, object) ⇒ Object
8
9
10
11
|
# File 'lib/slack/block_kit/element.rb', line 8
def self.populate(hash, object)
object.action_id = hash[:action_id] if hash.key?(:action_id)
raise ArgumentError, "invalid #{name}" unless object.valid?
end
|
Instance Method Details
#to_h ⇒ Object
35
36
37
38
|
# File 'lib/slack/block_kit/element.rb', line 35
def to_h
{ type: type,
action_id: action_id }
end
|
#type ⇒ Object
24
25
26
27
28
29
|
# File 'lib/slack/block_kit/element.rb', line 24
def type
@type ||= self.class.name
.split('::')
.last.chomp('Element')
.gsub(/([a-z])([A-Z])/, '\1_\2').downcase
end
|
#valid? ⇒ Boolean
31
32
33
|
# File 'lib/slack/block_kit/element.rb', line 31
def valid?
true
end
|