Skip to content

Commit

Permalink
Merge branch 'feature/asset-manager-cleanup' into develop
Browse files Browse the repository at this point in the history
  • Loading branch information
trq committed Jan 23, 2013
2 parents 3aa2e40 + 9049e8e commit 856b854
Showing 1 changed file with 16 additions and 16 deletions.
32 changes: 16 additions & 16 deletions lib/Proem/Service/AssetManager.php
Original file line number Diff line number Diff line change
Expand Up @@ -94,40 +94,40 @@ public function alias($type, $alias = null, $override = false)
* asset return the same instance on each call. (A singleton).
*
* @param string|array $name The name to index the asset by. Also excepts an array so as to alias.
* @param Proem\Service\Asset|closure|object $type
* @param Proem\Service\Asset|closure|object $resolver Some means of resolving this asset.
* @param bool $single
* @param bool $override Optionally override existing (@see override).
*/
public function attach($name, $type = null, $single = false, $override = false)
public function attach($name, $resolver = null, $single = false, $override = false)
{
if (is_array($name)) {
$type = current($name);
$resolver = current($name);
$name = key($name);
$this->alias($type, $name, $override);
$this->alias($resolver, $name, $override);
}

if ($name instanceof Asset) {
$this->setParam('assets', $name->is(), $name, $override);
} elseif ($type instanceof \Closure && $single) {
$this->setParam('assets', $name, function($params) use ($type) {
} elseif ($resolver instanceof \Closure && $single) {
$this->setParam('assets', $name, function($params) use ($resolver) {
static $obj;

if ($obj === null) {
$obj = $type($params, $this);
$obj = $resolver($params, $this);
}
return $obj;
}, $override);

} elseif ($type instanceof \Closure || $type instanceof Asset) {
$this->setParam('assets', $name, $type, $override);
} elseif ($resolver instanceof \Closure || $resolver instanceof Asset) {
$this->setParam('assets', $name, $resolver, $override);

} elseif (is_object($type)) {
$this->setParam('instances', $name, $type, $override);
} elseif (is_object($resolver)) {
$this->setParam('instances', $name, $resolver, $override);

} elseif (($type === null) && $single) {
} elseif (($resolver === null) && $single) {
$this->setParam('instances', $name, $name, $override);

} elseif ($type === null) {
} elseif ($resolver === null) {
$this->setParam('assets', $name, $name, $override);
}

Expand All @@ -146,11 +146,11 @@ public function singleton($name, $resolver = null, $override = false)
* Attach an asset to the service manager overriding any existing of the same index.
*
* @param string|array $name The name to index the asset by. Also excepts an array so as to alias.
* @param Proem\Service\Asset|closure|object $type
* @param Proem\Service\Asset|closure|object $resolver Some means of resolving this asset.
* @param bool $single
*/
public function override($name, $type = null, $single = false) {
$this->attach($name, $type, $single, true);
public function override($name, $resolver = null, $single = false) {
$this->attach($name, $resolver, $single, true);

return $this;
}
Expand Down

0 comments on commit 856b854

Please sign in to comment.