Module: Sickill::Rainbow

Defined in:
lib/wrong/rainbow.rb

Constant Summary collapse

TERM_COLORS =
{
  :black => 0,
  :red => 1,
  :green => 2,
  :yellow => 3,
  :blue => 4,
  :magenta => 5,
  :cyan => 6,
  :white => 7,
  :default => 9,
}
TERM_EFFECTS =
{
  :reset => 0,
  :bright => 1,
  :italic => 3,
  :underline => 4,
  :blink => 5,
  :inverse => 7,
  :hide => 8,
}

Class Attribute Summary collapse

Instance Method Summary collapse

Class Attribute Details

.enabledObject

Returns the value of attribute enabled.



5
6
7
# File 'lib/wrong/rainbow.rb', line 5

def enabled
  @enabled
end

Instance Method Details

#background(*color) ⇒ Object

Sets background color of this text.



45
46
47
# File 'lib/wrong/rainbow.rb', line 45

def background(*color)
  set_color(color, :background)
end

Turns on blinking attribute for this text (not well supported by terminal emulators).



73
74
75
# File 'lib/wrong/rainbow.rb', line 73

def blink
  wrap_with_code(TERM_EFFECTS[:blink])
end

#brightObject Also known as: bold

Turns on bright/bold for this text.



57
58
59
# File 'lib/wrong/rainbow.rb', line 57

def bright
  wrap_with_code(TERM_EFFECTS[:bright])
end

#foreground(*color) ⇒ Object Also known as: color, colour

Sets foreground color of this text.



38
39
40
# File 'lib/wrong/rainbow.rb', line 38

def foreground(*color)
  set_color(color, :foreground)
end

#hideObject

Hides this text (set its color to the same as background).



83
84
85
# File 'lib/wrong/rainbow.rb', line 83

def hide
  wrap_with_code(TERM_EFFECTS[:hide])
end

#inverseObject

Inverses current foreground/background colors.



78
79
80
# File 'lib/wrong/rainbow.rb', line 78

def inverse
  wrap_with_code(TERM_EFFECTS[:inverse])
end

#italicObject

Turns on italic style for this text (not well supported by terminal emulators).



63
64
65
# File 'lib/wrong/rainbow.rb', line 63

def italic
  wrap_with_code(TERM_EFFECTS[:italic])
end

#resetObject

Resets terminal to default colors/backgrounds.

It shouldn’t be needed to use this method because all methods append terminal reset code to end of string.



52
53
54
# File 'lib/wrong/rainbow.rb', line 52

def reset
  wrap_with_code(TERM_EFFECTS[:reset])
end

#underlineObject

Turns on underline decoration for this text.



68
69
70
# File 'lib/wrong/rainbow.rb', line 68

def underline
  wrap_with_code(TERM_EFFECTS[:underline])
end