diff options
| author | Adam Abrons | 2010-03-15 15:57:12 -0700 | 
|---|---|---|
| committer | Adam Abrons | 2010-03-15 15:57:12 -0700 | 
| commit | 79b743e52feb2c57ba0ae42d6d2742bc2189b22f (patch) | |
| tree | 0f9577f1c550a97d764012972cb0d87a2914cffe /src/Resource.js | |
| parent | f9f181a33e10bb698ff437bb3939f544ca92e39f (diff) | |
| download | angular.js-79b743e52feb2c57ba0ae42d6d2742bc2189b22f.tar.bz2 | |
resources, with bind()
Diffstat (limited to 'src/Resource.js')
| -rw-r--r-- | src/Resource.js | 14 | 
1 files changed, 9 insertions, 5 deletions
| diff --git a/src/Resource.js b/src/Resource.js index bed3def6..c0c7934c 100644 --- a/src/Resource.js +++ b/src/Resource.js @@ -43,14 +43,14 @@ ResourceFactory.DEFAULT_ACTIONS = {  };  ResourceFactory.prototype = { -  route: function(url, idPaths, actions){ +  route: function(url, paramDefaults, actions){      var self = this;      var route = new Route(url);      actions = $.extend({}, ResourceFactory.DEFAULT_ACTIONS, actions); -    function extractIds(data){ +    function extractParams(data){        var ids = {}; -      foreach(idPaths, function(path, id){ -        ids[id] = Scope.getter(data, path); +      foreach(paramDefaults, function(value, key){ +        ids[key] = value.charAt && value.charAt(0) == '@' ? Scope.getter(data, value.substr(1)) : value;        });        return ids;      } @@ -83,7 +83,7 @@ ResourceFactory.prototype = {          }          var value = action.isArray ? [] : new Resource(data); -        self.xhr.method(action.method, route.url($.extend({}, action.params || {}, extractIds(data), params)), data, function(response) { +        self.xhr.method(action.method, route.url($.extend({}, action.params || {}, extractParams(data), params)), data, function(response) {            if (action.isArray) {              foreach(response, function(item){                value.push(new Resource(item)); @@ -96,6 +96,10 @@ ResourceFactory.prototype = {          return value;        }; +      Resource.bind = function(additionalParamDefaults){ +        return self.route(url, $.extend({}, paramDefaults, additionalParamDefaults), actions); +      }; +        if (!isGet) {          Resource.prototype['$' + name] = function(a1, a2){            var params = {}; | 
