Module: Colcolor

Defined in:
lib/colcolor.rb,
lib/colcolor/version.rb

Constant Summary collapse

COLORSET =
%i(black red green yellow blue magenta cyan white)
COLORS =
TAGMAP(COLORSET, 30..37)
BGCOLORS =
TAGMAP(COLORSET, 40..47)
EXTRA =
TAGMAP(%i(clear bold underline blink reverse), [0,1,4,5,7])
VERSION =
"0.0.5"

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.TAGMAP(colors, codes) ⇒ Object



4
5
6
# File 'lib/colcolor.rb', line 4

def self.TAGMAP(colors, codes)
  Hash[ colors.zip(codes).map { |k, v| [k, "\e[#{v}m"] } ].freeze
end

Instance Method Details

#colco(*colors, regexp: /\S+/, cyclic: false) ⇒ Object



13
14
15
16
17
18
19
20
# File 'lib/colcolor.rb', line 13

def colco(*colors, regexp:/\S+/, cyclic:false)
  cs = cyclic ? colors.cycle : colors.to_enum
  self.gsub(regexp) do
    cname = cs.next rescue nil
    color = build_color_tag(cname)
    color.empty? ? $& : (color + $& + EXTRA[:clear])
  end
end