Module: Tablizer::StringANSI

Included in:
String
Defined in:
lib/tablizer/ansi_string.rb

Overview

Some extensions to String to deal with ANSI colors.

Constant Summary collapse

COLORS =
{
  :black   => 30,
  :red     => 31,
  :green   => 32,
  :brown   => 33,
  :blue    => 34,
  :magenta => 35,
  :cyan    => 36,
  :gray    => 37
}

Instance Method Summary collapse

Instance Method Details

#ansi_center(len, char = " ") ⇒ Object



35
36
37
# File 'lib/tablizer/ansi_string.rb', line 35

def ansi_center(len, char = " ")
  center(len + length - ansi_length, char)
end

#ansi_lengthObject



23
24
25
# File 'lib/tablizer/ansi_string.rb', line 23

def ansi_length
  gsub(/\033\[\d+m/, "").length
end

#ansi_ljust(len, char = " ") ⇒ Object



31
32
33
# File 'lib/tablizer/ansi_string.rb', line 31

def ansi_ljust(len, char = " ")
  ljust(len + length - ansi_length, char)
end

#ansi_rjust(len, char = " ") ⇒ Object



27
28
29
# File 'lib/tablizer/ansi_string.rb', line 27

def ansi_rjust(len, char = " ")
  rjust(len + length - ansi_length, char)
end

#color(color) ⇒ Object



17
18
19
20
21
# File 'lib/tablizer/ansi_string.rb', line 17

def color(color)
  code = "\033[#{COLORS[color]}m"
  end_code = "\033[0m"
  return "#{code}#{self}#{end_code}"
end