public/javascripts/vendor/javascripts/ember.js
function() {
    if (this.isDestroying) { return; }

    this.isDestroying = true;

    if (this.willDestroy) { this.willDestroy(); }

    set(this, 'isDestroyed', true);
    Ember.run.schedule('destroy', this, this._scheduledDestroy);
    return this;
  }
function() {
    if (this.isDestroying) { return; }

    this.isDestroying = true;

    if (this.willDestroy) { this.willDestroy(); }

    set(this, 'isDestroyed', true);
    Ember.run.schedule('destroy', this, this._scheduledDestroy);
    return this;
  }
function ( ) { if ( this . isDestroying ) { return ; } this . isDestroying = true ; if ( this . willDestroy ) { this . willDestroy ( ) ; } set ( this , 'isDestroyed' , true ) ; Ember . run . schedule ( 'destroy' , this , this . _scheduledDestroy ) ; return this ; }
Destroys an object by setting the isDestroyed flag and removing its
metadata, which effectively destroys observers and bindings.

If you try to set a property on a destroyed object, an exception will be
raised.

Note that destruction is scheduled for the end of the run loop and does not
happen immediately.

@returns {Ember.Object} receiver
Destroys an object by setting the isDestroyed flag and removing its metadata which effectively destroys observers and bindings .