From edb8d098a40b6b855079c63754bb454ccba6f41f Mon Sep 17 00:00:00 2001 From: George Steel Date: Fri, 5 Jun 2020 16:21:43 +0100 Subject: [PATCH 1/4] Add method to retrieve currently configured strategies --- src/ClassDiscovery.php | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/ClassDiscovery.php b/src/ClassDiscovery.php index 355d076..73297dd 100644 --- a/src/ClassDiscovery.php +++ b/src/ClassDiscovery.php @@ -124,6 +124,16 @@ public static function setStrategies(array $strategies) self::clearCache(); } + /** + * Returns the currently configured discovery strategies as fully qualified class names + * + * @return string[] + */ + public static function getStrategies() : iterable + { + return self::$strategies; + } + /** * Append a strategy at the end of the strategy queue. * From 7b8b00ae4380287719b48c8a1e35780ab5ad7587 Mon Sep 17 00:00:00 2001 From: George Steel Date: Fri, 5 Jun 2020 16:38:56 +0100 Subject: [PATCH 2/4] Add changelog entry --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b2e148c..a90f33a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ - Support discovering PSR-17 factories of `guzzlehttp/psr7` package - Support discovering PSR-17 factories of `laminas/laminas-diactoros` pakcage +- `ClassDiscovery::getStrategies()` to retrieve the list of current strategies. ## 1.7.4 - 2020-01-03 From a15d096bf3a09c03014dbcfca5c4ea6e0c80b6d2 Mon Sep 17 00:00:00 2001 From: George Steel Date: Fri, 5 Jun 2020 16:40:28 +0100 Subject: [PATCH 3/4] Fix style --- src/ClassDiscovery.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ClassDiscovery.php b/src/ClassDiscovery.php index 73297dd..ee280f3 100644 --- a/src/ClassDiscovery.php +++ b/src/ClassDiscovery.php @@ -125,11 +125,11 @@ public static function setStrategies(array $strategies) } /** - * Returns the currently configured discovery strategies as fully qualified class names + * Returns the currently configured discovery strategies as fully qualified class names. * * @return string[] */ - public static function getStrategies() : iterable + public static function getStrategies(): iterable { return self::$strategies; } From 165d2ad58a2efce4cbe9f051e0ddf288a40ddf2b Mon Sep 17 00:00:00 2001 From: George Steel Date: Thu, 11 Jun 2020 13:36:55 +0100 Subject: [PATCH 4/4] Add test for ClassDiscovery::getStrategies() --- spec/ClassDiscoverySpec.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/spec/ClassDiscoverySpec.php b/spec/ClassDiscoverySpec.php index 4b9086c..e29b0ba 100644 --- a/spec/ClassDiscoverySpec.php +++ b/spec/ClassDiscoverySpec.php @@ -68,6 +68,11 @@ function it_prepends_strategies() { $this->find('Foobar')->shouldReturn('Added'); } + function it_retrieves_configured_strategies() { + $expect = [DiscoveryHelper::class]; + $this->getStrategies()->shouldReturn($expect); + } + function it_appends_strategies() { $candidate = ['class' => 'Added']; DiscoveryHelper::setClasses('Foobar', [$candidate]);