mirror of
https://github.com/composer/composer
synced 2025-05-10 17:12:51 +00:00
Added hasPackage and removePackage methods to the ArrayRepository
This commit is contained in:
parent
2fc0699492
commit
28d9df7da6
2 changed files with 65 additions and 1 deletions
|
@ -23,6 +23,26 @@ class ArrayRepository implements RepositoryInterface
|
|||
{
|
||||
protected $packages;
|
||||
|
||||
/**
|
||||
* Checks if specified package in this repository.
|
||||
*
|
||||
* @param PackageInterface $package package instance
|
||||
*
|
||||
* @return Boolean
|
||||
*/
|
||||
public function hasPackage(PackageInterface $package)
|
||||
{
|
||||
$packageId = $package->getUniqueName();
|
||||
|
||||
foreach ($this->getPackages() as $repoPackage) {
|
||||
if ($packageId === $repoPackage->getUniqueName()) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds a new package to the repository
|
||||
*
|
||||
|
@ -37,6 +57,24 @@ class ArrayRepository implements RepositoryInterface
|
|||
$this->packages[] = $package;
|
||||
}
|
||||
|
||||
/**
|
||||
* Removes package from repository.
|
||||
*
|
||||
* @param PackageInterface $package package instance
|
||||
*/
|
||||
public function removePackage(PackageInterface $package)
|
||||
{
|
||||
$packageId = $package->getUniqueName();
|
||||
|
||||
foreach ($this->getPackages() as $key => $repoPackage) {
|
||||
if ($packageId === $repoPackage->getUniqueName()) {
|
||||
array_splice($this->packages, $key, 1);
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns all contained packages
|
||||
*
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue