浏览代码

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