Class: SlackWidgets::Dialog

Inherits:
Object
  • Object
show all
Defined in:
lib/slack_widgets/widgets/dialogs/dialog.rb

Defined Under Namespace

Classes: DialogPicker, DialogTextBox

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(callback_id:, title:, submit_button_label:, elements:) ⇒ Dialog

Returns a new instance of Dialog.

Raises:

  • (ArgumentError)


3
4
5
6
7
8
9
# File 'lib/slack_widgets/widgets/dialogs/dialog.rb', line 3

def initialize(callback_id:, title:, submit_button_label:, elements:)
  raise ArgumentError, 'elements must be an array of dialog widgets' unless elements.is_a?(Array)
  @callback_id = callback_id
  @title = title
  @submit_button_label = submit_button_label
  @elements = elements
end

Class Method Details

.create(callback_id:, title:, submit_button_label:, elements:) ⇒ Object



20
21
22
23
24
25
# File 'lib/slack_widgets/widgets/dialogs/dialog.rb', line 20

def self.create(callback_id:, title:, submit_button_label:, elements:)
  new(callback_id: callback_id,
      title: title,
      submit_button_label: submit_button_label,
      elements: elements).render
end

Instance Method Details

#renderObject



11
12
13
14
15
16
17
18
# File 'lib/slack_widgets/widgets/dialogs/dialog.rb', line 11

def render
  {
    'callback_id': @callback_id,
    'title': @title,
    'submit_label': @submit_button_label,
    'elements': @elements
  }
end