class Aeternitas::WebUi::ColorGenerator

Public Class Methods

new(n, baseColor = " click to toggle source
# File lib/aeternitas/web_ui/color_generator.rb, line 6
def initialize(n, baseColor = "#C25B56")
  @counter = 0
  @base_color = Colorable::Color.new(baseColor).hsb
  @step = 240.0 / n
  @colors = []
end

Public Instance Methods

current() click to toggle source
# File lib/aeternitas/web_ui/color_generator.rb, line 19
def current
  @colors[@counter] || generate_color(@counter)
end
generate_color(i) click to toggle source
# File lib/aeternitas/web_ui/color_generator.rb, line 24
def generate_color(i)
  next_hue = @base_color[0] + (@step * (i % 240.0))
  next_color = Colorable::Color.new(Colorable::HSB.new(next_hue, @base_color[1], @base_color[2]))
  @colors[i] = next_color
  next_color
end
next() click to toggle source
# File lib/aeternitas/web_ui/color_generator.rb, line 13
def next
  generate_color(@counter)
  @counter += 1
  current
end