Sha256: a969b3d5a508264cb9256fa55b22bf424696c34b74db7347fa3919898a19a722

Contents?: true

Size: 848 Bytes

Versions: 11

Compression:

Stored size: 848 Bytes

Contents

# frozen_string_literal: true

module Slack
  module BlockKit
    module Layout
      # A simple image block, designed to make those cat photos really pop.
      #
      # https://api.slack.com/reference/messaging/blocks#context
      class Image
        TYPE = 'image'

        def initialize(url:, alt_text:, title: nil, block_id: nil, emoji: nil)
          @image_url = url
          @alt_text = alt_text
          @block_id = block_id

          return unless title

          @title = Composition::PlainText.new(
            text: title,
            emoji: emoji
          )
        end

        def as_json(*)
          {
            type: TYPE,
            image_url: @image_url,
            alt_text: @alt_text,
            title: @title&.as_json,
            block_id: @block_id
          }.compact
        end
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 2 rubygems

Version Path
slack-ruby-block-kit-0.8.0 lib/slack/block_kit/layout/image.rb
slack-ruby-block-kit-0.7.0 lib/slack/block_kit/layout/image.rb
slack-ruby-block-kit-0.6.1 lib/slack/block_kit/layout/image.rb
slack-ruby-block-kit-0.6.0 lib/slack/block_kit/layout/image.rb
slack-ruby-block-kit-0.5.0 lib/slack/block_kit/layout/image.rb
slack-ruby-block-kit-0.4.0 lib/slack/block_kit/layout/image.rb
slack_block_kit-0.3.3 lib/slack/block_kit/layout/image.rb
slack_block_kit-0.3.2 lib/slack/block_kit/layout/image.rb
slack_block_kit-0.3.1 lib/slack/block_kit/layout/image.rb
slack_block_kit-0.3.0 lib/slack/block_kit/layout/image.rb
slack_block_kit-0.2.0 lib/slack/block_kit/layout/image.rb