Class: Soba::Services::AnsiProcessor

Inherits:
Object
  • Object
show all
Defined in:
lib/soba/services/ansi_processor.rb

Overview

ANSIエスケープシーケンスとコントロール文字の処理

Instance Method Summary collapse

Constructor Details

#initialize(preserve_colors: false, strip_codes: true, convert_to_paint: false) ⇒ AnsiProcessor

Returns a new instance of AnsiProcessor.



7
8
9
10
11
# File 'lib/soba/services/ansi_processor.rb', line 7

def initialize(preserve_colors: false, strip_codes: true, convert_to_paint: false)
  @preserve_colors = preserve_colors
  @strip_codes = strip_codes
  @convert_to_paint = convert_to_paint
end

Instance Method Details

#process(text) ⇒ Object

テキストを処理



14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/soba/services/ansi_processor.rb', line 14

def process(text)
  return "" if text.blank?

  processed = text.dup

  if @strip_codes
    processed = strip_ansi_codes(processed)
  elsif @convert_to_paint
    processed = convert_to_paint_format(processed)
    return processed # Paint形式の場合はcontrol文字処理をスキップ
  end

  handle_control_chars(processed)
end