Class: Slk::Formatters::BlockFormatter

Inherits:
Object
  • Object
show all
Defined in:
lib/slk/formatters/block_formatter.rb

Overview

Formats Slack Block Kit blocks for terminal display

Instance Method Summary collapse

Constructor Details

#initialize(text_processor:) ⇒ BlockFormatter

Returns a new instance of BlockFormatter.



7
8
9
# File 'lib/slk/formatters/block_formatter.rb', line 7

def initialize(text_processor:)
  @text_processor = text_processor
end

Instance Method Details

#format(blocks, main_text, lines, options) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/slk/formatters/block_formatter.rb', line 11

def format(blocks, main_text, lines, options)
  return unless blocks&.any?
  return if options[:no_blocks]

  block_texts = extract_texts(blocks)
  block_texts = filter_duplicate_texts(block_texts, main_text)

  return if block_texts.empty?

  lines << ''
  block_texts.each { |text| format_block_text(text, lines, options) }
end