Class: Tone::Encoder

Inherits:
Object
  • Object
show all
Defined in:
lib/tone/encoder.rb

Overview

Encodes plain text as colorized text.

Instance Method Summary collapse

Constructor Details

#initialize(aliaser: Aliaser.new, enabled: $stdout.tty?) ⇒ Encoder

Returns a new instance of Encoder.



10
11
12
13
# File 'lib/tone/encoder.rb', line 10

def initialize aliaser: Aliaser.new, enabled: $stdout.tty?
  @aliaser = aliaser
  @enabled = enabled
end

Instance Method Details

#call(text, *styles) ⇒ Object



15
16
17
18
19
# File 'lib/tone/encoder.rb', line 15

def call(text, *styles)
  return "" if String(text).empty?

  !enabled || styles.tap(&:compact!).empty? ? text : "#{start(*styles)}#{text}#{stop}"
end