瀏覽代碼

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 年之前
父節點
當前提交
7308049056
共有 2 個文件被更改,包括 18 次插入0 次删除
  1. 11 0
      src/Composer/Repository/CompositeRepository.php
  2. 7 0
      src/Composer/Repository/RepositoryInterface.php

+ 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);
 }