Module: SlackValidBlockKit::Builder::Layouts

Included in:
Runner
Defined in:
lib/slack_valid_block_kit/builder/layouts.rb

Instance Method Summary collapse

Instance Method Details

#actions(elements:, block_id: nil) ⇒ Object



4
5
6
7
8
9
# File 'lib/slack_valid_block_kit/builder/layouts.rb', line 4

def actions(elements:, block_id: nil)
  hash = { type: 'actions' }
  hash[:elements] = elements
  hash[:block_id] = block_id.is_a?(Symbol) ? block_id.to_s : block_id unless block_id.nil?
  hash
end

#context(elements:, block_id: nil) ⇒ Object



11
12
13
14
15
16
# File 'lib/slack_valid_block_kit/builder/layouts.rb', line 11

def context(elements:, block_id: nil)
  hash = { type: 'context' }
  hash[:elements] = elements
  hash[:block_id] = block_id.is_a?(Symbol) ? block_id.to_s : block_id unless block_id.nil?
  hash
end

#divider(block_id: nil) ⇒ Object



18
19
20
21
22
# File 'lib/slack_valid_block_kit/builder/layouts.rb', line 18

def divider(block_id: nil)
  hash = { type: 'divider' }
  hash[:block_id] = block_id.is_a?(Symbol) ? block_id.to_s : block_id unless block_id.nil?
  hash
end

#file(elements:, source:, block_id: nil) ⇒ Object



24
25
26
27
28
29
30
# File 'lib/slack_valid_block_kit/builder/layouts.rb', line 24

def file(elements:, source:, block_id: nil)
  hash = { type: 'file' }
  hash[:elements] = elements
  hash[:source] = source
  hash[:block_id] = block_id.is_a?(Symbol) ? block_id.to_s : block_id unless block_id.nil?
  hash
end

#header(text:, block_id: nil) ⇒ Object



32
33
34
35
36
37
# File 'lib/slack_valid_block_kit/builder/layouts.rb', line 32

def header(text:, block_id: nil)
  hash = { type: 'header' }
  hash[:text] = text
  hash[:block_id] = block_id.is_a?(Symbol) ? block_id.to_s : block_id unless block_id.nil?
  hash
end

#image(image_url:, alt_text:, title: nil, block_id: nil) ⇒ Object



39
40
41
42
43
44
45
46
# File 'lib/slack_valid_block_kit/builder/layouts.rb', line 39

def image(image_url:, alt_text:, title: nil, block_id: nil)
  hash = { type: 'image' }
  hash[:image_url] = image_url
  hash[:alt_text] = alt_text
  hash[:title] = title unless title.nil?
  hash[:block_id] = block_id.is_a?(Symbol) ? block_id.to_s : block_id unless block_id.nil?
  hash
end

#input(label:, element:, dispatch_action: nil, block_id: nil, hint: nil, optional: nil) ⇒ Object



48
49
50
51
52
53
54
55
56
57
# File 'lib/slack_valid_block_kit/builder/layouts.rb', line 48

def input(label:, element:, dispatch_action: nil, block_id: nil, hint: nil, optional: nil)
  hash = { type: 'input' }
  hash[:label] = label
  hash[:element] = element
  hash[:dispatch_action] = dispatch_action unless dispatch_action.nil?
  hash[:block_id] = block_id.is_a?(Symbol) ? block_id.to_s : block_id unless block_id.nil?
  hash[:hint] = hint unless hint.nil?
  hash[:optional] = optional unless optional.nil?
  hash
end

#section(text: nil, block_id: nil, fields: nil, accessory: nil) ⇒ Object



59
60
61
62
63
64
65
66
# File 'lib/slack_valid_block_kit/builder/layouts.rb', line 59

def section(text: nil, block_id: nil, fields: nil, accessory: nil)
  hash = { type: 'section' }
  hash[:text] = text unless text.nil?
  hash[:block_id] = block_id.is_a?(Symbol) ? block_id.to_s : block_id unless block_id.nil?
  hash[:fields] = fields unless fields.nil?
  hash[:accessory] = accessory unless accessory.nil?
  hash
end