class Rainbow::Color
Attributes
ground[R]
Public Class Methods
build(ground, values)
click to toggle source
# File lib/rainbow/color.rb, line 6 def self.build(ground, values) unless [1, 3].include?(values.size) fail ArgumentError, "Wrong number of arguments for color definition, should be 1 or 3" end color = values.size == 1 ? values.first : values case color when Integer Indexed.new(ground, color) when Symbol if Named.color_names.include?(color) Named.new(ground, color) elsif X11Named.color_names.include?(color) X11Named.new(ground, color) else fail ArgumentError, "Unknown color name, valid names: " + (Named.color_names + X11Named.color_names).join(', ') end when Array RGB.new(ground, *color) when String RGB.new(ground, *parse_hex_color(color)) end end
parse_hex_color(hex)
click to toggle source
# File lib/rainbow/color.rb, line 34 def self.parse_hex_color(hex) hex = hex.sub(/^#/, '') r = hex[0..1].to_i(16) g = hex[2..3].to_i(16) b = hex[4..5].to_i(16) [r, g, b] end