diff --git a/packages/ember-runtime/lib/system/core_object.js b/packages/ember-runtime/lib/system/core_object.js index aa18e034a32..7f711d45807 100644 --- a/packages/ember-runtime/lib/system/core_object.js +++ b/packages/ember-runtime/lib/system/core_object.js @@ -170,16 +170,22 @@ function makeCtor() { } } } + finishPartial(this, m); + var length = arguments.length; - var args = new Array(length); - for (var x = 0; x < length; x++) { - args[x] = arguments[x]; + + if (length === 0) { + this.init(); + } else if (length === 1) { + this.init(arguments[0]); + } else { + this.init.apply(this, arguments); } - apply(this, this.init, args); + m.proto = proto; finishChains(this); - sendEvent(this, "init"); + sendEvent(this, 'init'); }; Class.toString = Mixin.prototype.toString;