Parent

GraphViz::Types::Color

Constants

HEX_FOR_COLOR
RGBA

Public Instance Methods

check(data) click to toggle source
# File lib/graphviz/types/color.rb, line 12
def check(data)
  data = data.to_s if data.is_a?(Symbol)
  return nil if data.empty?

  if data[0].chr == "#"
    m = RGBA.match(data)
    if m.nil?
      raise ColorException, "Wrong color definition RGBA #{data}"
    end
    @to_ruby = GraphViz::Utils::Colors.rgb(m[1], m[2], m[3], m[4])
    return data
  elsif data.include?(",") or data.include?(" ")
    m = data.split(/(?:\s*,\s*|\s+)/).map { |x| x.to_f }
    if m.size != 3
      raise ColorException, "Wrong color definition HSV #{data}"
    end
    @to_ruby = GraphViz::Utils::Colors.hsv(m[0], m[1], m[2])
    return data
  elsif data.is_a?(Array)
    if data.all? { |x| x.is_a?(String) and x =~ /^#{HEX_FOR_COLOR}$/ } and [3,4].include?(data.size)
      @to_ruby = GraphViz::Utils::Colors.rgb(data[0], data[1], data[2], data[3])
      return data
    elsif data.all? { |x| x.kind_of?(Numeric) } and data.size == 3
      @to_ruby = GraphViz::Utils::Colors.hsv(data[0], data[1], data[2])
      return data
    end

    raise ColorException, "Wrong color definition Array #{data}"
  else
    @to_ruby = GraphViz::Utils::Colors.name(data)
    return data
  end
end
output() click to toggle source
# File lib/graphviz/types/color.rb, line 46
def output
  return @data.to_s.inspect.gsub( "\\\\", "\\" )
end
Also aliased as: to_gv, to_s
to_gv() click to toggle source
Alias for: output
to_ruby() click to toggle source
# File lib/graphviz/types/color.rb, line 53
def to_ruby
   @to_ruby
end
to_s() click to toggle source
Alias for: output

[Validate]

Generated with the Darkfish Rdoc Generator 2.