class Color

Some code retrieved from rainbow gem, license followed: github.com/sickill/rainbow At commit: 0425bb46a408e406501c842d97233f13d93701e3

Constants

NAMES

Attributes

b[RW]
g[RW]
r[RW]

Public Class Methods

known_color?(name) click to toggle source
# File lib/vv/style/color.rb, line 173
def self.known_color? name
  self.lookup_color(name).present?
end
lookup_color(name) click to toggle source
# File lib/vv/style/color.rb, line 164
def self.lookup_color name
  name = name.to_s
  name.gsub! "_", ""
  name.gsub! "-", ""
  name = name.to_sym

  NAMES[name]
end
names() click to toggle source
# File lib/vv/style/color.rb, line 155
def self.names
  NAMES.each do | name, _ |
    styled_name = name.to_s.style name
    styled_name += " (black)" if name == :black
    puts styled_name
  end
  nil
end
new(name=nil, hex: nil, rgb: nil) click to toggle source
# File lib/vv/style/color.rb, line 177
def initialize name=nil, hex: nil, rgb: nil
  raise NotImplemented if name.nil?
  raise NotImplemented if hex.present?
  raise NotImplemented if rgb.present?

  color ||= self.class.lookup_color name

  raise NotImplemented unless color.present?

  @r, @g, @b = color
end

Public Instance Methods

blue() click to toggle source
# File lib/vv/style/color.rb, line 197
def blue
  @b
end
code() click to toggle source
# File lib/vv/style/color.rb, line 205
def code
  "#{start_code}#{@r};#{@g};#{@b}m"
end
green() click to toggle source
# File lib/vv/style/color.rb, line 193
def green
  @g
end
hex()
Alias for: html
html() click to toggle source
# File lib/vv/style/color.rb, line 209
def html
  "##{@r.to_s(16)}#{@g.to_s(16)}#{@b.to_s(16)}"
end
Also aliased as: hex
red() click to toggle source
# File lib/vv/style/color.rb, line 189
def red
  @r
end
rgb() click to toggle source
# File lib/vv/style/color.rb, line 201
def rgb
  [@r, @g, @b]
end
start_code() click to toggle source
# File lib/vv/style/color.rb, line 214
def start_code
  "\x1b[38;2;"
end