This mixin defines the API for modifying generic enumerables. These methods can be applied to an object regardless of whether it is ordered or unordered.
Note that an Enumerable can change even if it does not implement this mixin. For example, a MappedEnumerable cannot be directly modified but if its underlying enumerable changes, it will change also.
To add an object to an enumerable, use the
addObject() method. This
method will only add the object to the enumerable if the object is not
already present and is of a type supported by the enumerable.
To remove an object from an enumerable, use the
removeObject() method. This
will only remove the object if it is present in the enumerable, otherwise
this method has no effect.
Implementing In Your Own Code
If you are implementing an object and want to support this API, just include this mixin in your class and implement the required methods. In your unit tests, be sure to apply the Ember.MutableEnumerableTests to your object.