From d88e63b3436080ff5aed367fc8d8115d5ffce853 Mon Sep 17 00:00:00 2001 From: koriym Date: Sat, 6 Nov 2021 20:46:52 +0900 Subject: [PATCH] Bind default EtagPool --- src/QueryRepositoryModule.php | 3 +++ tests/ModuleFactory.php | 15 +++++++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src/QueryRepositoryModule.php b/src/QueryRepositoryModule.php index 9aa08855..a863626c 100644 --- a/src/QueryRepositoryModule.php +++ b/src/QueryRepositoryModule.php @@ -4,6 +4,7 @@ namespace BEAR\QueryRepository; +use BEAR\RepositoryModule\Annotation\EtagPool; use BEAR\Resource\NamedParameter; use BEAR\Resource\NamedParameterInterface; use Psr\Cache\CacheItemPoolInterface; @@ -21,6 +22,8 @@ protected function configure(): void { // Null cache default $this->bind(CacheItemPoolInterface::class)->annotatedWith(Shared::class)->to(NullAdapter::class)->in(Scope::SINGLETON); + + $this->bind(CacheItemPoolInterface::class)->annotatedWith(EtagPool::class)->to(NullAdapter::class)->in(Scope::SINGLETON); // core $this->bind(QueryRepositoryInterface::class)->to(QueryRepository::class)->in(Scope::SINGLETON); $this->bind(CacheDependencyInterface::class)->to(CacheDependency::class); diff --git a/tests/ModuleFactory.php b/tests/ModuleFactory.php index 1f7d21a3..68b00581 100644 --- a/tests/ModuleFactory.php +++ b/tests/ModuleFactory.php @@ -4,15 +4,26 @@ namespace BEAR\QueryRepository; +use BEAR\RepositoryModule\Annotation\EtagPool; use BEAR\Resource\Module\ResourceModule; -use Ray\PsrCacheModule\Psr6ArrayModule; +use Psr\Cache\CacheItemPoolInterface; +use Ray\Di\AbstractModule; +use Ray\Di\Scope; +use Ray\PsrCacheModule\Annotation\Shared; +use Symfony\Component\Cache\Adapter\ArrayAdapter; final class ModuleFactory { public static function getInstance(string $namespace): QueryRepositoryModule { $module = new QueryRepositoryModule(new ResourceModule($namespace)); - $module->override(new Psr6ArrayModule()); + $module->override(new class extends AbstractModule{ + protected function configure(): void + { + $this->bind(CacheItemPoolInterface::class)->annotatedWith(Shared::class)->to(ArrayAdapter::class)->in(Scope::SINGLETON); + $this->bind(CacheItemPoolInterface::class)->annotatedWith(EtagPool::class)->to(ArrayAdapter::class)->in(Scope::SINGLETON); + } + }); return $module; }