2014-05-07 5 views
1

J'essaie d'implémenter une file d'attente FIFO dans Firebase en utilisant uniquement l'API REST et le wrapper Ruby (https://github.com/oscardelben/firebase-ruby).fifo queue dans Firebase

firebase.push('queue', { :name => 'Bob' }) 
firebase.push('queue', { :name => 'Sally' }) 
firebase.push('queue', { :name => 'John' }) 

Et je veux que cela retourne 'Bob' car c'était le premier élément ajouté.

firebase.get('queue', { :limit => 1 }) 

J'ai essayé d'utiliser les priorités mais je suis soit pas en mesure de les régler en utilisant correctement l'emballage Ruby ou je ne suis pas en mesure de récupérer en fonction de l'ordre de priorité (le plus cher).

Répondre

2

La solution consiste à utiliser le champ de priorité dans Firebase, cependant, la documentation de l'encapsuleur Ruby est incorrecte. Les documents suggèrent d'utiliser

response = firebase.push("todos", { :name => 'Pick the milk', :priority => 1 }) 

Le domaine prioritaire est en fait « .Priorité » et il attend un symbole de sorte que vous aurez besoin d'utiliser quelque chose comme ceci:

response = firebase.push("todos", { :name => 'Pick the milk', :".priority" => 1 }) 
+1

OMG, ils ont même écrit dans le readme principal ... – mdesantis

+1

Documentation du client @mdesantis firebase corrigé: https://github.com/oscardelben/firebase-ruby/issues/79#event-1317848707 – Thufir