소스 검색

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