From c2db54687730387966375be27e8384ec611e90e9 Mon Sep 17 00:00:00 2001 From: Sam Date: Sun, 24 Mar 2013 23:20:53 -0700 Subject: [PATCH] getAjax helper ... saves a lot of typing, we can extend later --- .../javascripts/discourse/models/model.js | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/app/assets/javascripts/discourse/models/model.js b/app/assets/javascripts/discourse/models/model.js index 672ea896305..f5fed188b2d 100644 --- a/app/assets/javascripts/discourse/models/model.js +++ b/app/assets/javascripts/discourse/models/model.js @@ -53,6 +53,33 @@ Discourse.Model = Ember.Object.extend(Discourse.Presence, { Discourse.Model.reopenClass({ + /** + $.get shortcut that uses Discourse.Url and returns a promise + **/ + getAjax: function(url) { + var _this = this; + var promise = new Ember.Deferred(); + + $.ajax(Discourse.getURL(url), { + cache: false, + type: 'GET', + dataType: 'json', + success: function(result){ + promise.resolve(_this.create(result)); + }, + error: function(jqXHR, textStatus, errorThrown){ + promise.reject({ + jqXHR: jqXHR, + textStatus: textStatus, + errorThrown: errorThrown + }); + } + }); + + return promise; + }, + + /** Given an array of values, return them in a hash