Generate a color based on a given String, by calculating a color value from the String's hash. The result is deterministic: the same value will always result in the same color (so long as the hash function remains deterministic).
Generated colours can be useful to dynamically generate tags like these:

Install the gem and add to the application's Gemfile by executing:
$ bundle add color_hashIf bundler is not being used to manage dependencies, install the gem by executing:
$ gem install color_hashBy default, ColorHash will generate color values in the Hue range between [0..360], and with a lightness and saturation value of one of [0.35, 0.5, 0.65].
color_hash = ColorHash.new()
hex = color_hash.hex("Hello World!")
hsl = color_hash.hsl("Hello World!")
rgb = color_hash.rgb("Hello World!")The resulting values are going to be:
hex = "#d2797c"
hsl = [358, 0.5, 0.65]
rgb = [210, 121, 124]You can customize the desired hue range(s), saturation and lightness values by passing the corresponding arguments to the constructor. For example, to generate colors in the blue spectrum:
color_hash = ColorHash.new(hue: [{min: 180, max: 240}])
color = color_hash.hex("Hello World!")will result in a color value of:
color = "#79acd2"After checking out the repo, run bin/setup to install dependencies. Then, run rake spec to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and the created tag, and push the .gem file to rubygems.org.
Bug reports and pull requests are welcome on GitHub at https://github.com/kuyio/color_hash.
See https://github.com/zenozeng/color-hash for the original implementation in JavaScript.