From 40bc56ca3c87edc9f0b9ae63772a1b706e67cfaf Mon Sep 17 00:00:00 2001 From: Ricardo Mendes Date: Wed, 29 Nov 2017 20:25:11 +0000 Subject: [PATCH] Remove arity check from initializer --- .../ember-application/lib/system/engine.js | 17 +++--------- .../tests/system/initializers_test.js | 26 ++++--------------- 2 files changed, 8 insertions(+), 35 deletions(-) diff --git a/packages/ember-application/lib/system/engine.js b/packages/ember-application/lib/system/engine.js index 8c853bd37bc..b83c495d52a 100644 --- a/packages/ember-application/lib/system/engine.js +++ b/packages/ember-application/lib/system/engine.js @@ -12,7 +12,7 @@ import { privatize as P } from 'container'; import DAG from 'dag-map'; -import { assert, deprecate } from 'ember-debug'; +import { assert } from 'ember-debug'; import { get, set } from 'ember-metal'; import DefaultResolver from './resolver'; import EngineInstance from './engine-instance'; @@ -124,18 +124,7 @@ const Engine = Namespace.extend(RegistryProxyMixin, { runInitializers() { this._runInitializer('initializers', (name, initializer) => { assert(`No application initializer named '${name}'`, !!initializer); - if (initializer.initialize.length === 2) { - deprecate(`The \`initialize\` method for Application initializer '${name}' should take only one argument - \`App\`, an instance of an \`Application\`.`, - false, { - id: 'ember-application.app-initializer-initialize-arguments', - until: '3.0.0', - url: 'https://emberjs.com/deprecations/v2.x/#toc_initializer-arity' - }); - - initializer.initialize(this.__registry__, this); - } else { - initializer.initialize(this); - } + initializer.initialize(this); }); }, @@ -474,7 +463,7 @@ function resolverFor(namespace) { } function buildInitializerMethod(bucketName, humanName) { - return function(initializer) { + return function (initializer) { // If this is the first initializer being added to a subclass, we are going to reopen the class // to make sure we have a new `initializers` object, which extends from the parent class' using // prototypal inheritance. Without this, attempting to add initializers to the subclass would diff --git a/packages/ember-application/tests/system/initializers_test.js b/packages/ember-application/tests/system/initializers_test.js index 44e1bc9002e..ab0d0e1659b 100644 --- a/packages/ember-application/tests/system/initializers_test.js +++ b/packages/ember-application/tests/system/initializers_test.js @@ -18,7 +18,7 @@ moduleFor('Ember.Application initializers', class extends AutobootApplicationTes }); } - createSecondApplication(options, MyApplication=Application) { + createSecondApplication(options, MyApplication = Application) { let myOptions = assign(this.applicationOptions, { rootElement: '#two' }, options); @@ -42,7 +42,7 @@ moduleFor('Ember.Application initializers', class extends AutobootApplicationTes }); expectAssertion(() => { - MyApplication.initializer({ initialize() {} }); + MyApplication.initializer({ initialize() { } }); }); } @@ -329,20 +329,20 @@ moduleFor('Ember.Application initializers', class extends AutobootApplicationTes FirstApp.initializer({ name: 'abc', - initialize() {} + initialize() { } }); expectAssertion(() => { FirstApp.initializer({ name: 'abc', - initialize() {} + initialize() { } }); }); let SecondApp = Application.extend(); SecondApp.instanceInitializer({ name: 'abc', - initialize() {} + initialize() { } }); assert.ok(true, 'Two apps can have initializers named the same.'); @@ -362,20 +362,4 @@ moduleFor('Ember.Application initializers', class extends AutobootApplicationTes this.runTask(() => this.createApplication({}, MyApplication)); } - - [`@test initializers throw a deprecation warning when receiving a second argument`](assert) { - assert.expect(1); - - let MyApplication = Application.extend(); - - MyApplication.initializer({ - name: 'deprecated', - initialize(registry, application) { // eslint-disable-line no-unused-vars - } - }); - - expectDeprecation(() => { - this.runTask(() => this.createApplication({}, MyApplication)); - }, /The `initialize` method for Application initializer 'deprecated' should take only one argument - `App`, an instance of an `Application`./); - } });