Bläddra i källkod

Added removePackage() to Repository\RepositoryInterface in order to provide to be able to rely on the existance of this method in all repositories. Had to add this method to the Repository\CompositeRepository.

Paul Seiffert 13 år sedan
förälder
incheckning
7308049056

+ 11 - 0
src/Composer/Repository/CompositeRepository.php

@@ -91,6 +91,17 @@ class CompositeRepository implements RepositoryInterface
         return call_user_func_array('array_merge', $packages);
     }
 
+    /**
+     * {@inheritdoc}
+     */
+    public function removePackage(PackageInterface $package)
+    {
+        foreach($this->repositories as $repository) {
+            /* @var $repository RepositoryInterface */
+            $repository->removePackage($package);
+        }
+    }
+
     /**
      * {@inheritdoc}
      */

+ 7 - 0
src/Composer/Repository/RepositoryInterface.php

@@ -57,4 +57,11 @@ interface RepositoryInterface extends \Countable
      * @return  array
      */
     function getPackages();
+
+    /**
+     * @abstract
+     * @param       \Composer\Package\PackageInterface  $package
+     * @return      void
+     */
+    function removePackage(PackageInterface $package);
 }