Ember.Copyable Class packages/ember-runtime/lib/mixins/copyable.js:12

Implements some standard methods for copying an object. Add this mixin to any object you create that can create a copy of itself. This mixin is added automatically to the built-in array.

You should generally implement the copy() method to return a copy of the receiver.

Note that frozenCopy() will only work if you also implement Ember.Freezable.

Show:

Methods

Show:

apply

(obj)

Parameters:

obj

Returns:

applied object

copy

(deep) Object

Override to return a copy of the receiver. Default implementation raises an exception.

Parameters:

deep Boolean
if `true`, a deep copy of the object should be made

Returns:

Object
copy of receiver

create

(arguments) static

Creates an instance of a class. Accepts either no arguments, or an object containing values to initialize the newly instantiated object with.

1
2
3
4
5
6
7
8
9
10
11
App.Person = Ember.Object.extend({
  helloWorld: function() {
    alert("Hi, my name is " + this.get('name'));
  }
});

var tom = App.Person.create({
  name: 'Tom Dale'
});

tom.helloWorld(); // alerts "Hi, my name is Tom Dale".

create will call the init function if defined during Ember.AnyObject.extend

If no arguments are passed to create, it will not set values to the new instance during initialization:

1
2
var noName = App.Person.create();
noName.helloWorld(); // alerts undefined

NOTE: For performance reasons, you cannot declare methods or computed properties during create. You should instead declare methods and computed properties when using extend.

Parameters:

arguments

detect

(obj) Boolean

Parameters:

obj

Returns:

Boolean

frozenCopy

Object

If the object implements Ember.Freezable, then this will return a new copy if the object is not frozen and the receiver if the object is frozen.

Raises an exception if you try to call this method on a object that does not support freezing.

You should use this method whenever you want a copy of a freezable object since a freezable object can simply return itself without actually consuming more memory.

Returns:

Object
copy of receiver or receiver

reopen

(arguments)

Parameters:

arguments