diff --git a/packages/ember-data/lib/system/model/model.js b/packages/ember-data/lib/system/model/model.js index 773d012822b..5d8023485ca 100644 --- a/packages/ember-data/lib/system/model/model.js +++ b/packages/ember-data/lib/system/model/model.js @@ -6,6 +6,9 @@ import { keysFunc } from 'ember-data/system/object-polyfills'; +import computedPolyfill from "ember-new-computed"; +var errorDeprecationShown = false; + /** @module ember-data */ @@ -128,6 +131,22 @@ var Model = Ember.Object.extend(Ember.Evented, { Ember.deprecate('DS.Model#isDirty has been deprecated please use hasDirtyAttributes instead'); return this.get('currentState.isDirty'); }), + + /** + @property error + @type {Boolean} + @deprecated + */ + error: computedPolyfill('adapterError', { + get() { + if (!errorDeprecationShown) { + Ember.deprecate('DS.Model#error has been deprecated please use adapterError instead'); + errorDeprecationShown = true; + } + return Ember.get(this, 'adapterError'); + } + }), + /** If this property is `true` the record is in the `dirty` state. The record has local changes that have not yet been saved by the diff --git a/packages/ember-data/tests/unit/model-test.js b/packages/ember-data/tests/unit/model-test.js index 79d34fdf0c0..18862e1ffc0 100644 --- a/packages/ember-data/tests/unit/model-test.js +++ b/packages/ember-data/tests/unit/model-test.js @@ -923,3 +923,27 @@ test('isDirty should log a deprecation warning', function() { }, /DS.Model#isDirty has been deprecated/); }); }); + + +test('error should log a deprecation warning', function() { + expect(2); + var Person = DS.Model.extend({ + }); + + var env = setupStore({ + person: Person + }); + var store = env.store; + + run(function() { + var person = store.createRecord('person'); + var error = {}; + person.set('adapterError', error); + + expectDeprecation(function() { + person.get('error'); + }, /DS.Model#error has been deprecated/); + + equal(person.get('error'), error, 'error should be set'); + }); +});