diff options
| author | Adam Abrons | 2010-03-16 14:38:56 -0700 |
|---|---|---|
| committer | Adam Abrons | 2010-03-16 14:38:56 -0700 |
| commit | 2df072e3f89e8998b06b5a9e5ffb10fa32155136 (patch) | |
| tree | 30fe30e7bf6dd59e3f17e78b5ade39a253ba54e1 /example/tweeter/tweeterclient.js | |
| parent | 9e1f085ba6e224893abc04be181f8748939bfe77 (diff) | |
| download | angular.js-2df072e3f89e8998b06b5a9e5ffb10fa32155136.tar.bz2 | |
twitter using resources
Diffstat (limited to 'example/tweeter/tweeterclient.js')
| -rw-r--r-- | example/tweeter/tweeterclient.js | 34 |
1 files changed, 16 insertions, 18 deletions
diff --git a/example/tweeter/tweeterclient.js b/example/tweeter/tweeterclient.js index 8c68fac0..612f9dee 100644 --- a/example/tweeter/tweeterclient.js +++ b/example/tweeter/tweeterclient.js @@ -1,28 +1,26 @@ function noop(){} $(document).ready(function(){ + function xhr(method, url, data, callback){ + jQuery.getJSON(url, function(){ + callback.apply(this, arguments); + scope.updateView(); + }) + } + + var resourceFactory = new ResourceFactory({method: xhr}); + + var Tweeter = resourceFactory.route("http://twitter.com/statuses/:service:username.json", {}, { + home: {method:'GET', params: {service:'home_timeline'}, isArray:true }, + user: {method:'GET', params: {service:'user_timeline/'}, isArray:true } + }); + + var scope = window.scope = angular.compile(document, { location:angular.startUrlWatcher() }); - scope.getJSON = function(url, callback) { - var list = []; - var self = this; - self.set('status', 'fetching'); - $.getJSON(url, function(response, code){ - _(response).forEach(function(v,k){ - list[k] = v; - }); - (callback||noop)(response); - self.set('status', ''); - self.updateView(); - }); - return list; - }; function fetchTweets(username){ - return scope.getJSON( - username ? - "http://twitter.com/statuses/user_timeline/"+username+".json" : - "http://twitter.com/statuses/home_timeline.json"); + return username ? Tweeter.user({username: username}) : Tweeter.home(); } scope.set('fetchTweets', fetchTweets); |
