2009-07-08 5 views
0

J'ai mis en place une nouvelle Rails 2.3.2 application et a ajouté l'emballage rubis API Basecamp à mon répertoire/lib d'ici:Exemple d'utilisation d'emballage rubis API Basecamp

http://developer.37signals.com/basecamp/basecamp.rb 

Dans mon application_controller.rb I ont créé la méthode suivante pour activer les appels à Basecamp:

def basecamp_connect 
    Basecamp.establish_connection!('xxxxxx', 'xxxxxx', 'xxxxxx', false) 
    @basecamp = Basecamp.new 
end 

quelqu'un peut-il donner un exemple de la façon dont j'accéder à l'API d'un contrôleur pour récupérer une liste de tâches à faire dans tous les projets Basecamp actifs?

Répondre

3

Basé sur ActiveResource, heureusement votre code ressemblera beaucoup au code du modèle AR.

Cela devrait trouver tous les articles pour votre todo Basecamp:

Basecamp::TodoList.find(:all) 

Vous pouvez également obtenir tous les TodoLists d'un projet donné et préciser si elles sont terminées ou non, en utilisant une méthode qu'ils ont ajouté à la classe TodoList. Pour trouver toutes les listes pour un projet donné, par exemple, il suffit d'utiliser:

Basecamp::Todolist.all(project_id) 
+0

Merci - cela aide beaucoup. Existe-t-il un moyen d'utiliser l'API pour récupérer une liste de tous les projets To Dos ouverts sur tous les projets? En regardant la documentation, cela ne semble pas possible? – simonyoung

+1

Je pense que vous pouvez simplement faire TodoItem.find (: all). Je pense qu'il y a un: drapeau complet que vous pourriez passer dans les params, mais si cela ne fonctionne pas, vous pourriez faire BaseCamp :: TodoList.find (: all) .map {| tl | tl.todo_items}? – Terry

+0

La deuxième option BaseCamp :: TodoList.find (: all) .map {| tl | tl.todo_items} retourne tous les éléments ToDo à l'intérieur des todo-lists> todo-list> todo-item Comment faire une boucle sur les todo-items à partir du XML retourné? – simonyoung