Class: Writexlsx::Colors

Inherits:
Object
  • Object
show all
Defined in:
lib/write_xlsx/colors.rb

Constant Summary collapse

COLORS =
{
  :aqua    => 0x0F,
  :cyan    => 0x0F,
  :black   => 0x08,
  :blue    => 0x0C,
  :brown   => 0x10,
  :magenta => 0x0E,
  :fuchsia => 0x0E,
  :gray    => 0x17,
  :grey    => 0x17,
  :green   => 0x11,
  :lime    => 0x0B,
  :navy    => 0x12,
  :orange  => 0x35,
  :pink    => 0x21,
  :purple  => 0x14,
  :red     => 0x0A,
  :silver  => 0x16,
  :white   => 0x09,
  :yellow  => 0x0D,
}

Instance Method Summary collapse

Instance Method Details

#color(color_code = nil) ⇒ Object

get_color(colour)

Used in conjunction with the set_xxx_color methods to convert a color string into a number. Color range is 0..63 but we will restrict it to 8..63 to comply with Gnumeric. Colors 0..7 are repeated in 8..15.


35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# File 'lib/write_xlsx/colors.rb', line 35

def color(color_code = nil) # :nodoc:
  if color_code.respond_to?(:to_int) && color_code.respond_to?(:+)
    # the default color if arg is outside range,
    if color_code < 0 || 63 < color_code
      0x7FFF
    # or an index < 8 mapped into the correct range,
    elsif color_code < 8
      (color_code + 8).to_i
    # or an integer in the valid range
    else
      color_code.to_i
    end
  elsif color_code.respond_to?(:to_sym)
    color_code = color_code.downcase.to_sym if color_code.respond_to?(:to_str)
    COLORS[color_code] || 0x7FFF
  else
    0x7FFF
  end
end

#inspectObject


55
56
57
# File 'lib/write_xlsx/colors.rb', line 55

def inspect
  to_s
end