Example #1
0
 public function testGetById()
 {
     $a = $this->makeResolver('a');
     $list = new ResolverList([$a]);
     $this->assertSame($a, $list->getById('a'));
     $this->assertNull($list->getById('not in list'));
 }
Example #2
0
 public function setSqlDepends(ResolverList $list, $throwExceptionIfDependNotInList = true)
 {
     foreach ($this->getSqlDepends() as $_depend) {
         if ($depend = $list->getById($_depend)) {
             $this->addDependency($depend);
         } elseif ($throwExceptionIfDependNotInList) {
             throw new DependencyMissingException($_depend, $this, $list);
         }
     }
 }
Example #3
0
 /**
  * Resolve a entire assets directory
  * @return ResolverList
  */
 public function resolveByDirs(array $dirs, ResolverList $assets, ResolverList $resolved)
 {
     // apply all obs to the database
     $resolveByDirs = new DependencyResolver("resolveByDirs-" . json_encode($dirs), function () use($dirs, $assets) {
         return true;
         printf("Resolved assets in directories\n%s\n", json_encode($dirs, JSON_PRETTY_PRINT));
     });
     // add all our resources as the database build setup
     foreach ($this->getSqlAssetsFromDirs1($dirs) as $file) {
         //            print_r( $file );
         $name = substr($file->getBasename(), 0, -4);
         if ($assets->containsId($name)) {
             $resolveByDirs->addDependency($assets->getById($name));
         }
     }
     $resolveByDirs->resolve($resolved, new ResolverList(), true);
     return $resolved;
 }