Sha256: 392ce010b1ec323e3ff49021308ca11659b86b851398c956a6ab86bc9765371e

Contents?: true

Size: 1.69 KB

Versions: 27

Compression:

Stored size: 1.69 KB

Contents

# -*- coding: utf-8 -*-

module Writexlsx
  class Colors
    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,
    }   # :nodoc:

    ###############################################################################
    #
    # 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.
    #
    def get_color(color = nil) # :nodoc:
      if color.respond_to?(:to_int) && color.respond_to?(:+)
        # the default color if arg is outside range,
        if color < 0 || 63 < color
          0x7FFF
        # or an index < 8 mapped into the correct range,
        elsif color < 8
          (color + 8).to_i
        # or an integer in the valid range
        else
          color.to_i
        end
      elsif color.respond_to?(:to_sym)
        color = color.downcase.to_sym if color.respond_to?(:to_str)
        # or the color string converted to an integer,
        if COLORS.has_key?(color)
          COLORS[color]
        # or the default color if string is unrecognised,
        else
          0x7FFF
        end
      else
        0x7FFF
      end
    end

    def inspect
      to_s
    end
  end  # class Colors
end

Version data entries

27 entries across 27 versions & 1 rubygems

Version Path
write_xlsx-0.75.0 lib/write_xlsx/colors.rb
write_xlsx-0.74.0 lib/write_xlsx/colors.rb
write_xlsx-0.73.0 lib/write_xlsx/colors.rb
write_xlsx-0.72.3.beta1 lib/write_xlsx/colors.rb
write_xlsx-0.72.2 lib/write_xlsx/colors.rb
write_xlsx-0.72.1 lib/write_xlsx/colors.rb
write_xlsx-0.72.0 lib/write_xlsx/colors.rb
write_xlsx-0.71.0 lib/write_xlsx/colors.rb
write_xlsx-0.70.0 lib/write_xlsx/colors.rb
write_xlsx-0.69.0 lib/write_xlsx/colors.rb
write_xlsx-0.65.1 lib/write_xlsx/colors.rb
write_xlsx-0.65.0 lib/write_xlsx/colors.rb
write_xlsx-0.64.1 lib/write_xlsx/colors.rb
write_xlsx-0.64.0 lib/write_xlsx/colors.rb
write_xlsx-0.62.0 lib/write_xlsx/colors.rb
write_xlsx-0.61.0 lib/write_xlsx/colors.rb
write_xlsx-0.60.0 lib/write_xlsx/colors.rb
write_xlsx-0.59.0 lib/write_xlsx/colors.rb
write_xlsx-0.58.0 lib/write_xlsx/colors.rb
write_xlsx-0.57.0 lib/write_xlsx/colors.rb