Sha256: 763ba0f090ae02615fd699a98480d9803eafbb3b705ab9a11219a30f02529fd0
Contents?: true
Size: 1.09 KB
Versions: 9
Compression:
Stored size: 1.09 KB
Contents
# frozen_string_literal: true module Slack module BlockKit module Layout # Displays message context, which can include both images and text. # # https://api.slack.com/reference/messaging/blocks#context class Context TYPE = 'context' attr_accessor :elements def initialize(block_id: nil) @block_id = block_id @elements = [] yield(self) if block_given? end def image(url:, alt_text:) append(Element::Image.new(image_url: url, alt_text: alt_text)) end def plain_text(text:, emoji: nil) append(Composition::PlainText.new(text: text, emoji: emoji)) end def mrkdwn(text:, verbatim: nil) append(Composition::Mrkdwn.new(text: text, verbatim: verbatim)) end def append(element) @elements << element self end def as_json(*) { type: TYPE, elements: @elements.map(&:as_json), block_id: @block_id }.compact end end end end end
Version data entries
9 entries across 9 versions & 2 rubygems