create(environment, definition, args, dynamicScope) { let { name, env } = definition; let modelRef = args.positional.at(0); let controllerFactory = env.owner.factoryFor(`controller:${name}`); let factory = controllerFactory || generateControllerFactory(env.owner, name); let controller = factory.create({ model: modelRef.value() }); if (DEBUG) { this._pushToDebugStack(`controller:${name} (with the render helper)`, environment); } if (dynamicScope.rootOutletState) { dynamicScope.outletState = dynamicScope.rootOutletState.getOrphan(name); } return { controller, model: modelRef }; }
getSelf(engine) { let applicationFactory = engine.factoryFor(`controller:application`); let factory = applicationFactory || generateControllerFactory(engine, 'application'); return new RootReference(factory.create()); }
getSelf({ engine }) { let factory = engine._lookupFactory(`controller:application`) || generateControllerFactory(engine, 'application'); return new RootReference(factory.create()); }