Sha256: 8d06d017680c5e769422306c34fa2a1737c530222af971d10ab16be465e149ef
Contents?: true
Size: 561 Bytes
Versions: 2
Compression:
Stored size: 561 Bytes
Contents
module Cheers class ContrastingColorPicker MAX_RETRIES = 10 attr_reader :palette, :colors def initialize(palette, *colors) @palette = palette.map { |c| Color.new(c) } @colors = colors.map { |c| Color.new(c) } end def pick(randomizer = Random.new) pick = palette.sample(random: randomizer) try = 0 while colors.any? { |c| c.similar?(pick) } && try <= MAX_RETRIES try += 1 pick = palette.sample(random: randomizer) end pick.to_s end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
cheers-0.0.4 | lib/cheers/contrasting_color_picker.rb |
cheers-0.0.3 | lib/cheers/contrasting_color_picker.rb |