Skip to content

Commit 05483ef

Browse files
committed
added setTempDirectory(), should be used instead of setCacheStorage()
1 parent fef4873 commit 05483ef

File tree

7 files changed

+28
-15
lines changed

7 files changed

+28
-15
lines changed

readme.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ $loader = new Nette\Loaders\RobotLoader;
3434
$loader->addDirectory('app');
3535
$loader->addDirectory('libs');
3636
// And set caching to the 'temp' directory on the disc
37-
$loader->setCacheStorage(new Nette\Caching\Storages\FileStorage('temp'));
37+
$loader->setTempDirectory('temp');
3838
$loader->register(); // Run the RobotLoader
3939
```
4040

src/RobotLoader/RobotLoader.php

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -346,6 +346,24 @@ public function setAutoRefresh($on = TRUE)
346346
}
347347

348348

349+
/**
350+
* Sets path to temporary directory.
351+
* @return static
352+
*/
353+
public function setTempDirectory($dir)
354+
{
355+
if ($dir) {
356+
if (!is_dir($dir)) {
357+
@mkdir($dir); // @ - directory may already exist
358+
}
359+
$this->cacheStorage = new Nette\Caching\Storages\FileStorage($dir);
360+
} else {
361+
$this->cacheStorage = new Nette\Caching\Storages\DevNullStorage;
362+
}
363+
return $this;
364+
}
365+
366+
349367
/**
350368
* @return static
351369
*/
@@ -371,7 +389,7 @@ public function getCacheStorage()
371389
protected function getCache()
372390
{
373391
if (!$this->cacheStorage) {
374-
trigger_error('Missing cache storage.', E_USER_WARNING);
392+
trigger_error('Set path to temporary directory using setTempDirectory().', E_USER_WARNING);
375393
$this->cacheStorage = new Nette\Caching\Storages\DevNullStorage;
376394
}
377395
return new Cache($this->cacheStorage, 'Nette.RobotLoader');

tests/Loaders/RobotLoader.caseSensitivity.phpt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,14 @@
55
*/
66

77
use Nette\Loaders\RobotLoader;
8-
use Nette\Caching\Storages\DevNullStorage;
98
use Tester\Assert;
109

1110

1211
require __DIR__ . '/../bootstrap.php';
1312

1413

1514
$loader = new RobotLoader;
16-
$loader->setCacheStorage(new DevNullStorage);
15+
$loader->setTempDirectory(TEMP_DIR);
1716
$loader->addDirectory(__DIR__ . '/files');
1817
$loader->register();
1918

tests/Loaders/RobotLoader.phar.phpt

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
*/
88

99
use Nette\Loaders\RobotLoader;
10-
use Nette\Caching\Storages\DevNullStorage;
1110
use Tester\Assert;
1211

1312

@@ -29,7 +28,7 @@ Phar::loadPhar($pharFile, 'test.phar');
2928

3029

3130
$loader = new RobotLoader;
32-
$loader->setCacheStorage(new DevNullStorage);
31+
$loader->setTempDirectory(TEMP_DIR);
3332
$loader->addDirectory("phar://$pharFile/sub");
3433
$loader->addDirectory("PHAR://$pharFile/class.B.php");
3534
$loader->addDirectory('phar://test.phar/class.C.php');
@@ -42,15 +41,15 @@ Assert::true(class_exists('D'));
4241

4342

4443
$loader = new RobotLoader;
45-
$loader->setCacheStorage(new DevNullStorage);
44+
$loader->setTempDirectory(TEMP_DIR);
4645
$loader->addDirectory("phar://$pharFile/non-dir");
4746
Assert::exception(function () use ($loader, $pharFile) {
4847
$loader->register();
4948
}, Nette\IOException::class, "File or directory 'phar://$pharFile/non-dir' not found.");
5049

5150

5251
$loader = new RobotLoader;
53-
$loader->setCacheStorage(new DevNullStorage);
52+
$loader->setTempDirectory(TEMP_DIR);
5453
$loader->addDirectory("phar://$pharFile/non-file.php");
5554
Assert::exception(function () use ($loader, $pharFile) {
5655
$loader->register();

tests/Loaders/RobotLoader.phpt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,14 @@
55
*/
66

77
use Nette\Loaders\RobotLoader;
8-
use Nette\Caching\Storages\DevNullStorage;
98
use Tester\Assert;
109

1110

1211
require __DIR__ . '/../bootstrap.php';
1312

1413

1514
$loader = new RobotLoader;
16-
$loader->setCacheStorage(new DevNullStorage);
15+
$loader->setTempDirectory(TEMP_DIR);
1716
$loader->addDirectory(__DIR__ . '/files');
1817
$loader->addDirectory(__DIR__ . '/files/'); // purposely doubled
1918
$loader->addDirectory(__DIR__ . '/file/interface.php'); // as file

tests/Loaders/RobotLoader.rebuild.phpt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
*/
66

77
use Nette\Loaders\RobotLoader;
8-
use Nette\Caching\Storages\FileStorage;
98
use Tester\Assert;
109

1110

@@ -16,7 +15,7 @@ file_put_contents(TEMP_DIR . '/file1.php', '<?php class A {}');
1615
file_put_contents(TEMP_DIR . '/file2.php', '<?php class B {}');
1716

1817
$loader = new RobotLoader;
19-
$loader->setCacheStorage(new FileStorage(TEMP_DIR));
18+
$loader->setTempDirectory(TEMP_DIR);
2019
$loader->addDirectory(TEMP_DIR);
2120
$loader->register(); // rebuilds cache
2221

@@ -26,7 +25,7 @@ Assert::false(class_exists('A'));
2625

2726

2827
$loader2 = new RobotLoader;
29-
$loader2->setCacheStorage(new FileStorage(TEMP_DIR));
28+
$loader2->setTempDirectory(TEMP_DIR);
3029
$loader2->addDirectory(TEMP_DIR);
3130
$loader2->register();
3231

tests/Loaders/RobotLoader.renamed.phpt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,14 @@
55
*/
66

77
use Nette\Loaders\RobotLoader;
8-
use Nette\Caching\Storages\DevNullStorage;
98
use Tester\Assert;
109

1110

1211
require __DIR__ . '/../bootstrap.php';
1312

1413

1514
$loader = new RobotLoader;
16-
$loader->setCacheStorage(new DevNullStorage);
15+
$loader->setTempDirectory(TEMP_DIR);
1716
$loader->addDirectory(TEMP_DIR);
1817

1918
$dir = TEMP_DIR . DIRECTORY_SEPARATOR;

0 commit comments

Comments
 (0)