Sha256: 077a9d4f1c4e7ec3db1b1aab2562f5955e4e38eb215380cd7cde1eb3a4f64ea3

Contents?: true

Size: 782 Bytes

Versions: 2

Compression:

Stored size: 782 Bytes

Contents

# frozen_string_literal: true

module Slack
  module BlockKit
    module Layout
      class RichText
        module RichTextElements
          # https://api.slack.com/reference/block-kit/blocks#element-types
          class Text
            include RichTextElements::StyleHelper
            TYPE = 'text'
            VALID_STYLES = %w[bold italic strike code].freeze

            def initialize(text:, styles: [])
              @text = text
              @styles = styles
              validate_styles(styles, VALID_STYLES)
            end

            def as_json(*)
              {
                type: TYPE,
                text: @text,
                style: styles_as_json(@styles)
              }.compact
            end
          end
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
slack-ruby-block-kit-0.25.0 lib/slack/block_kit/layout/rich_text/rich_text_elements/text.rb
slack-ruby-block-kit-0.24.0 lib/slack/block_kit/layout/rich_text/rich_text_elements/text.rb