Ruby, Génère une couleur hexadécimale aléatoire

Comment puis-je générer une couleur hexadécimale aléatoire avec ruby?

Voici un moyen:

colour = "%06x" % (rand * 0xffffff) 
 SecureRandom.hex(3) #=> "fef912" 

Le module SecureRandom fait partie de la bibliothèque standard de Ruby

 require 'securerandom' 

Il est automatiquement chargé dans Rails, mais si vous utilisez Rails 3.0 ou inférieur, vous devrez utiliser

 ActiveSupport::SecureRandom.hex(3) 

Vous pouvez générer chaque composant indépendamment:

 r = rand(255).to_s(16) g = rand(255).to_s(16) b = rand(255).to_s(16) r, g, b = [r, g, b].map { |s| if s.size == 1 then '0' + s else s end } color = r + g + b # => eg "09f5ab"