diff --git a/packages/ember-data/lib/adapters/rest_adapter.js b/packages/ember-data/lib/adapters/rest_adapter.js index 1fafe8f2128..45dc2f7117d 100644 --- a/packages/ember-data/lib/adapters/rest_adapter.js +++ b/packages/ember-data/lib/adapters/rest_adapter.js @@ -3,17 +3,58 @@ require('ember-data/system/adapter'); require('ember-data/serializers/rest_serializer'); /*global jQuery*/ -var get = Ember.get, set = Ember.set; +var get = Ember.get, set = Ember.set, merge = Ember.merge; + +function loaderFor(store, record, id) { + return { + acknowledge: function() { + store.didSaveRecord(record); + }, + + loadMain: function(type, data, prematerialized) { + if (record) { + store.didSaveRecord(record, data, prematerialized); + } else { + if (id) { + prematerialized = prematerialized || {}; + prematerialized.id = id; + } + + return store.load(type, data, prematerialized); + } + }, + + load: function() { + return store.load.apply(store, arguments); + }, + + loadMany: function(type, array) { + for (var i=0, l=array.length; i