Un jour, une gem

13/05/2012

Dimanche c'est Gem of Thrones

gem install gem_of_thrones

The King in the North!

Aujourd’hui une gem qui veut aussi le Trône de fer. Mais comme vous le savez, une seule peut gagner !

Ouais ok ça utilise Memcache, ce n’est pas ce qu’il y a de mieux, mais c’est pas mal tout de même. Un petit exemple de son pouvoir :

aspirant = GemOfThrones.new(
  :cache => Rails.cache, # où stocke-t-on le lock ?
  :timeout => 60 # si le roi actuel met plus de 60 secondes à réagir, il sera remplacé par un autre aspirant
)

Thread.new do
  loop do
    # si je peux devenir le roi
    if aspirant.rise_to_power
    # quelque chose qui peut être fait seulement par ce roi
    end
    sleep 30 # si on choisit un timeout plus grand, le roi changera tout le temps 
  end
end

Allez, bon dimanche !

Le lien utile

Sur une idée de @lcoullet