-
-
Notifications
You must be signed in to change notification settings - Fork 4.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Container / Registry Reform #11440
Container / Registry Reform #11440
Commits on Jul 23, 2015
-
Introduce RegistryProxy mixin.
Mix in to both `Application` and `ApplicationInstance` classes to provide consistent public access to their internally maintained registries.
Configuration menu - View commit details
-
Copy full SHA for ca61792 - Browse repository at this point
Copy the full SHA ca61792View commit details -
Configuration menu - View commit details
-
Copy full SHA for be5b067 - Browse repository at this point
Copy the full SHA be5b067View commit details -
Simplify ApplicationInstance creation.
Pass the related Application, which the instance can inspect to obtain the initialization data that it needs. This eliminates the need to set `applicationRegistry` on the instance, which was always an anti-pattern.
Configuration menu - View commit details
-
Copy full SHA for b06bd88 - Browse repository at this point
Copy the full SHA b06bd88View commit details -
Privatize
registry
access with dunderscores.The `RegistryProxy` mixin now maintains the registry instance as `__registry__`. As appropriate, the equivalent `RegistryProxy` methods are called instead of directly accessing the `registry`.
Configuration menu - View commit details
-
Copy full SHA for b1cec55 - Browse repository at this point
Copy the full SHA b1cec55View commit details -
Initializers now just take a single argument: App.
Registry access must go through the Application now.
Configuration menu - View commit details
-
Copy full SHA for a27dc7a - Browse repository at this point
Copy the full SHA a27dc7aView commit details -
Rename Container#_registry to Container#registry.
Now that container will be fully privatized, we can relax naming of members like `registry` that won't be accessed outside of the framework.
Configuration menu - View commit details
-
Copy full SHA for c125649 - Browse repository at this point
Copy the full SHA c125649View commit details -
Introduce ContainerProxy mixin.
Mix in to `ApplicationInstance` class to provide public access to a few select methods on the encapsulated container.
Configuration menu - View commit details
-
Copy full SHA for 93a95c6 - Browse repository at this point
Copy the full SHA 93a95c6View commit details -
Do not set the resolver on the application instance's registry.
Instead, allow the application's resolver to be invoked only as part of the fallback strategy for the application instance's registry. This has a couple benefits: * It allows registrations made in the app instance's registry to be resolved before falling back to the app's registry, rather than hitting the resolver beforehand. This is important for scenarios such as testing in which custom registrations need to take precedence over the resolver. * It is also more efficient in the case when the app's registry's registrations are used to resolve, because it avoids calling the same resolver twice before finally getting the registration. [Closes emberjs#11174]
Configuration menu - View commit details
-
Copy full SHA for e3ad9e2 - Browse repository at this point
Copy the full SHA e3ad9e2View commit details -
Configuration menu - View commit details
-
Copy full SHA for e64c9ba - Browse repository at this point
Copy the full SHA e64c9baView commit details -
Configuration menu - View commit details
-
Copy full SHA for f982e89 - Browse repository at this point
Copy the full SHA f982e89View commit details -
Configuration menu - View commit details
-
Copy full SHA for 253edc4 - Browse repository at this point
Copy the full SHA 253edc4View commit details -
Introduce
ember-registry-container-reform
feature flag.* Ensure that `Container#_registry` remains supported for now. Can be deleted once cont/reg reform is enabled by default. * Continue to expose `registry` and `container` on `ApplicationInstance`. These can be removed once cont/reg reform is enabled, but we’ll still need to expose `ApplicationInstance.container.lookup` until 3.0. * Flag deprecation of Application initializer `initialize` arguments.
Configuration menu - View commit details
-
Copy full SHA for c353c38 - Browse repository at this point
Copy the full SHA c353c38View commit details