class Viridis::Colors

Constants

SUPPORTED_PALLETS

Attributes

palette[R]
palette_length[R]

Public Class Methods

new(palette) click to toggle source
# File lib/viridis/colors.rb, line 6
def initialize(palette)
  raise InvalidPaletteError unless SUPPORTED_PALLETS.include?(palette)

  @palette = colors(COLLOR_PALETTES[palette.to_sym])
  @palette_length = @palette.count.to_f
end

Public Instance Methods

color(t) click to toggle source
# File lib/viridis/colors.rb, line 19
def color(t)
  palette[[0, [palette_length - 1, (t * palette_length).floor].min].max];
end
colors(specifier) click to toggle source
# File lib/viridis/colors.rb, line 13
def colors(specifier)
  (specifier.length / 6 || 0).times.map do |index|
    "##{specifier[index * 6, 6]}"
  end
end
range(steps) click to toggle source
# File lib/viridis/colors.rb, line 23
def range(steps)
  steps.times.map { |index| color(index / [1, steps - 1].max.to_f ) }
end