Class: Slack::BlockKit::Blocks
- Inherits:
-
Object
- Object
- Slack::BlockKit::Blocks
- Defined in:
- lib/slack/block_kit/blocks.rb
Overview
Blocks are a series of components that can be combined to create visually rich and compellingly interactive messages.
Instance Attribute Summary collapse
-
#blocks ⇒ Object
Returns the value of attribute blocks.
Instance Method Summary collapse
- #actions(block_id: nil) {|block| ... } ⇒ Object
- #append(block) ⇒ Object
- #as_json ⇒ Object
- #context(block_id: nil) {|block| ... } ⇒ Object
- #divider(block_id: nil) ⇒ Object
- #image(url:, alt_text:, title: nil, block_id: nil, emoji: nil) ⇒ Object
-
#initialize {|_self| ... } ⇒ Blocks
constructor
A new instance of Blocks.
- #section(block_id: nil) {|block| ... } ⇒ Object
Constructor Details
#initialize {|_self| ... } ⇒ Blocks
Returns a new instance of Blocks.
12 13 14 15 16 |
# File 'lib/slack/block_kit/blocks.rb', line 12 def initialize @blocks = [] yield(self) if block_given? end |
Instance Attribute Details
#blocks ⇒ Object
Returns the value of attribute blocks.
10 11 12 |
# File 'lib/slack/block_kit/blocks.rb', line 10 def blocks @blocks end |
Instance Method Details
#actions(block_id: nil) {|block| ... } ⇒ Object
18 19 20 21 22 23 24 |
# File 'lib/slack/block_kit/blocks.rb', line 18 def actions(block_id: nil) block = Layout::Actions.new(block_id: block_id) yield(block) if block_given? append(block) end |
#append(block) ⇒ Object
60 61 62 63 64 |
# File 'lib/slack/block_kit/blocks.rb', line 60 def append(block) @blocks << block self end |
#as_json ⇒ Object
66 67 68 |
# File 'lib/slack/block_kit/blocks.rb', line 66 def as_json(*) @blocks.map(&:as_json) end |
#context(block_id: nil) {|block| ... } ⇒ Object
26 27 28 29 30 31 32 |
# File 'lib/slack/block_kit/blocks.rb', line 26 def context(block_id: nil) block = Layout::Context.new(block_id: block_id) yield(block) if block_given? append(block) end |
#divider(block_id: nil) ⇒ Object
34 35 36 37 38 |
# File 'lib/slack/block_kit/blocks.rb', line 34 def divider(block_id: nil) block = Layout::Divider.new(block_id: block_id) append(block) end |
#image(url:, alt_text:, title: nil, block_id: nil, emoji: nil) ⇒ Object
40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/slack/block_kit/blocks.rb', line 40 def image(url:, alt_text:, title: nil, block_id: nil, emoji: nil) block = Layout::Image.new( url: url, alt_text: alt_text, title: title, block_id: block_id, emoji: emoji ) append(block) end |
#section(block_id: nil) {|block| ... } ⇒ Object
52 53 54 55 56 57 58 |
# File 'lib/slack/block_kit/blocks.rb', line 52 def section(block_id: nil) block = Layout::Section.new(block_id: block_id) yield(block) if block_given? append(block) end |