class PulseMeter::DygraphsVisualize::SeriesColor
Public Class Methods
new(options = {})
click to toggle source
# File lib/pulse_meter/dygraphs_visualize/series_color.rb, line 5 def initialize(options = {}) @forced_color = options[:color] @name = options[:name] || rand.to_s end
Public Instance Methods
color()
click to toggle source
# File lib/pulse_meter/dygraphs_visualize/series_color.rb, line 10 def color @color ||= calculate_color end
Private Instance Methods
calculate_color()
click to toggle source
# File lib/pulse_meter/dygraphs_visualize/series_color.rb, line 16 def calculate_color @forced_color || calculate_color_by_name end
calculate_color_by_name()
click to toggle source
# File lib/pulse_meter/dygraphs_visualize/series_color.rb, line 20 def calculate_color_by_name '#' + hashed_color_bytes.map{|b| '%02x' % darken(b)}.join end
darken(byte)
click to toggle source
# File lib/pulse_meter/dygraphs_visualize/series_color.rb, line 33 def darken(byte) byte / 2 end
hashed_color_bytes()
click to toggle source
# File lib/pulse_meter/dygraphs_visualize/series_color.rb, line 24 def hashed_color_bytes n = Zlib::crc32(@name) [ n & 0xFF, (n & 0xFF00) >> 8, (n & 0xFF0000) >> 16 ] end