Class: Slocks::ModalBuilder

Inherits:
BlocksBuilder show all
Defined in:
lib/slocks/modal_builder.rb

Instance Attribute Summary collapse

Attributes inherited from BlocksBuilder

#blocks

Instance Method Summary collapse

Methods inherited from BlocksBuilder

#actions, #button, #channels_select, #checkboxes, #confirm_dialog, #context, #context_actions, #conversations_select, #date_picker, #datetime_picker, #dispatch_action_config, #divider, #email_input, #feedback_buttons, #file, #file_input, #filter, #header, #icon_button, #image, #image_element, #initialize, #input, #method_missing, #mrkdwn_text, #multi_channels_select, #multi_conversations_select, #multi_select_menu, #multi_users_select, #number_input, #option, #option_group, #overflow, #plain_text, #plain_text_input, #radio_buttons, #render, #respond_to_missing?, #rich_text, #rich_text_input, #section, #select_menu, #simple_section, #time_picker, #url_input, #users_select, #video, #workflow_button

Constructor Details

This class inherits a constructor from Slocks::BlocksBuilder

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class Slocks::BlocksBuilder

Instance Attribute Details

#callback_id ⇒ Object (readonly)

Returns the value of attribute callback_id.



5
6
7
# File 'lib/slocks/modal_builder.rb', line 5

def callback_id
  @callback_id
end

#close_text ⇒ Object (readonly)

Returns the value of attribute close_text.



5
6
7
# File 'lib/slocks/modal_builder.rb', line 5

def close_text
  @close_text
end

Returns the value of attribute modal_title.



5
6
7
# File 'lib/slocks/modal_builder.rb', line 5

def modal_title
  @modal_title
end

#submit_text ⇒ Object (readonly)

Returns the value of attribute submit_text.



5
6
7
# File 'lib/slocks/modal_builder.rb', line 5

def submit_text
  @submit_text
end

Instance Method Details

#callback(id) ⇒ Object



19
20
21
# File 'lib/slocks/modal_builder.rb', line 19

def callback(id)
  @callback_id = id
end

#close(text) ⇒ Object



15
16
17
# File 'lib/slocks/modal_builder.rb', line 15

def close(text)
  @close_text = text
end

#private_metadata(value) ⇒ Object



23
24
25
# File 'lib/slocks/modal_builder.rb', line 23

def (value)
  @private_metadata = value.to_s
end

#submit(text) ⇒ Object



11
12
13
# File 'lib/slocks/modal_builder.rb', line 11

def submit(text)
  @submit_text = text
end

#title(text) ⇒ Object



7
8
9
# File 'lib/slocks/modal_builder.rb', line 7

def title(text)
  @modal_title = text
end

#to_h ⇒ Object



27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/slocks/modal_builder.rb', line 27

def to_h
  modal = {
    type: "modal",
    title: { type: "plain_text", text: @modal_title },
    blocks: @blocks,
    callback_id: @callback_id
  }.compact
  modal[:submit] = { type: "plain_text", text: @submit_text } if @submit_text
  modal[:close] = { type: "plain_text", text: @close_text } if @close_text
  modal[:private_metadata] = @private_metadata if @private_metadata
  modal
end