diff --git a/src/Composer/Repository/ArrayRepository.php b/src/Composer/Repository/ArrayRepository.php index 06910bbe3..724f9bd4c 100644 --- a/src/Composer/Repository/ArrayRepository.php +++ b/src/Composer/Repository/ArrayRepository.php @@ -41,6 +41,19 @@ class ArrayRepository implements RepositoryInterface } } + /** + * {@inheritDoc} + */ + public function findPackagesByName($name) + { + // normalize name + $name = strtolower($name); + + return array_filter($this->getPackages(), function(PackageInterface $package) use ($name) { + return $package->getName() === $name; + }); + } + /** * {@inheritDoc} */ diff --git a/src/Composer/Repository/RepositoryInterface.php b/src/Composer/Repository/RepositoryInterface.php index a94ecea4c..d791b161d 100644 --- a/src/Composer/Repository/RepositoryInterface.php +++ b/src/Composer/Repository/RepositoryInterface.php @@ -41,6 +41,15 @@ interface RepositoryInterface extends \Countable */ function findPackage($name, $version); + /** + * Searches for packages by it's name . + * + * @param string $name package name + * + * @return array + */ + function findPackagesByName($name); + /** * Returns list of registered packages. *