Skip to content

Commit

Permalink
Quick bootstrap cleanup.
Browse files Browse the repository at this point in the history
  • Loading branch information
trq committed Feb 19, 2013
1 parent 8b5c72d commit de4710a
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 20 deletions.
8 changes: 2 additions & 6 deletions lib/Proem/Bootstrap/Dispatch.php
Expand Up @@ -48,15 +48,11 @@ class Dispatch extends ChainEventAbstract
public function in(AssetManagerInterface $assetManager)
{
// Setup defaults.
$assetManager->alias([
'Proem\Dispatch\DispatcherInterface' => 'Proem\Dispatch\Dispatcher',
'dispatcher' => 'Proem\Dispatch\DispatcherInterface'
])
->singleton('dispatcher');
$assetManager->singleton(['dispatcher' => 'Proem\Dispatch\Dispatcher']);

// Trigger an event allowing client code to override defaults.
$assetManager->resolve('eventManager')->trigger(
new Event('proem.in.setup.dispatch'),
new Event('proem.in.init.dispatch'),
function ($responseEvent) use ($assetManager) {
// Check for a customized Dispatch\Dispatcher.
if ($responseEvent instanceof Event && $responseEvent->has('dispatcherAsset')) {
Expand Down
10 changes: 5 additions & 5 deletions lib/Proem/Bootstrap/Request.php
Expand Up @@ -42,26 +42,26 @@ class Request extends ChainEventAbstract
/**
* Called on the way *in* to the filter chain.
*
* First triggers a *proem.in.request* event. This event allows a client to
* First triggers a *proem.in.init.request* event. This event allows a client to
* attach a custom Proem\Http\Request asset to the Asset Manager.
*
* If no such asset has been attached, this method will then go ahead and attach
* a default Proem\Http\Request.
*
* @param Proem\Service\AssetManagerInterface $assetManager
* @triggers proem.in.request
* @triggers proem.in.init.request
*/
public function in(AssetManagerInterface $assetManager)
{
// Setup defaults.
$assetManager->alias(['request' => 'Proem\Http\Request'])->singleton('request');
$assetManager->singleton(['request' => 'Proem\Http\Request']);

// Trigger an event allowing client code to override defaults.
$assetManager->resolve('eventManager')->trigger(
new Event('proem.in.setup.request'),
new Event('proem.in.init.request'),
function ($responseEvent) use ($assetManager) {
if ($responseEvent instanceof Event && $responseEvent->has('requestAsset')) {
$assetManager->override('request', $responseEvent->get('requestAsset'));
$assetManager->overrideAsSingleton('request', $responseEvent->get('requestAsset'));
}
}
);
Expand Down
24 changes: 15 additions & 9 deletions lib/Proem/Bootstrap/Route.php
Expand Up @@ -44,32 +44,38 @@ class Route extends ChainEventAbstract
/**
* Called on the way *in* to the filter chain.
*
* First triggers a *proem.in.route* event. This event allows a client to
* First triggers a *proem.in.init.route* event. This event allows a client to
* attach a custom Proem\Routing\RouteManagerInterface asset to the Asset Manager.
*
* If no such asset has been attached, this method will then go ahead and attach
* a default Proem\Routing\RouteManager.
*
* We then trigger an *proem.in.conf.route* event allowing the routeManager to have
* routes attached to it.
*
* @param Proem\Service\AssetManagerInterface $assetManager
* @triggers proem.in.route
* @triggers proem.in.init.route
* @triggers proem.in.conf.route
*/
public function in(AssetManagerInterface $assetManager)
{
// Setup defaults.
$assetManager->alias([
'Proem\Routing\RouteManagerInterface' => 'Proem\Routing\RouteManager',
'routeManager' => 'Proem\Routing\RouteManagerInterface',
])->singleton('routeManager');
$assetManager->singleton(['routeManager' => 'Proem\Routing\RouteManager']);

// Trigger an event allowing client code to override defaults.
// Trigger an event allowing client code to override default router implemmentation.
$assetManager->resolve('eventManager')->trigger(
new Event('proem.in.setup.route'),
new Event('proem.in.init.route'),
function ($responseEvent) use ($assetManager) {
if ($responseEvent instanceof Event && $responseEvent->has('routeManagerAsset')) {
$assetManager->override('routeManager', $responseEvent->get('routeManagerAsset'));
$assetManager->overrideAsSingleton('routeManager', $responseEvent->get('routeManagerAsset'));
}
}
);

// Trigger an event allowing client code to add routes to the routeManager..
$assetManager->resolve('eventManager')->trigger(
new Event('proem.in.conf.route', ['routeManager' => $assetManager->resolve('routeManager')])
);
}

/**
Expand Down

0 comments on commit de4710a

Please sign in to comment.