Skip to content

Commit 70b37fb

Browse files
lukas.sirhalpaveljanda
authored andcommitted
update for nette 3.0
update for nette 3.0 update for nette 3.0 - fix className update for nette 3.0 - add getConfigSchema validation and loadDefaultConfiguration update for nette 3.0 - add getConfigSchema validation and loadDefaultConfiguration update for nette 3.0 - travis quality assurance update for nette 3.0 - travis quality assurance, set data_path, data_dir required FactoryDefinition assertion
1 parent 20e56e5 commit 70b37fb

File tree

2 files changed

+31
-48
lines changed

2 files changed

+31
-48
lines changed

composer.json

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,16 +25,16 @@
2525
},
2626
"require": {
2727
"php": ">=7.1",
28-
"nette/application": "~2.4.12",
29-
"nette/utils": "~2.5.3",
30-
"nette/di": "~2.4.14",
31-
"nette/http": "~2.4.10",
32-
"latte/latte": "~2.4.8"
28+
"nette/application": "^3.0",
29+
"nette/utils": "^3.0",
30+
"nette/di": "^3.0",
31+
"nette/http": "^3.0",
32+
"latte/latte": "^2.5"
3333
},
3434
"require-dev": {
3535
"ninjify/qa": "^0.9.0",
3636
"ninjify/nunjuck": "^0.2.0",
37-
"tracy/tracy": "~2.5.3"
37+
"tracy/tracy": "^2.6"
3838
},
3939
"minimum-stability": "dev",
4040
"prefer-stable": true,

src/DI/ImageStorageExtension.php

Lines changed: 25 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -2,66 +2,49 @@
22

33
namespace Contributte\ImageStorage\DI;
44

5+
use Contributte\ImageStorage\ImageStorage;
6+
use Nette;
57
use Nette\DI\CompilerExtension;
6-
use Nette\DI\Helpers;
8+
use Nette\Schema\Expect;
9+
use Nette\Schema\Schema;
710

811
class ImageStorageExtension extends CompilerExtension
912
{
1013

11-
/** @var mixed[] */
12-
private $defaults = [
13-
'data_path' => '%wwwDir%/../public/data',
14-
'data_dir' => 'data',
15-
'algorithm_file' => 'sha1_file',
16-
'algorithm_content' => 'sha1',
17-
'quality' => 85,
18-
'default_transform' => 'fit',
19-
'noimage_identifier' => 'noimage/03/no-image.png',
20-
'friendly_url' => false,
21-
];
14+
public function getConfigSchema(): Schema
15+
{
16+
return Expect::structure([
17+
'data_path' => Expect::string()->required(),
18+
'data_dir' => Expect::string()->required(),
19+
'algorithm_file' => Expect::string('sha1_file'),
20+
'algorithm_content' => Expect::string('sha1'),
21+
'quality' => Expect::int(85),
22+
'default_transform' => Expect::string('fit'),
23+
'noimage_identifier' => Expect::string('noimage/03/no-image.png'),
24+
'friendly_url' => Expect::bool(false),
25+
]);
26+
}
2227

2328
public function loadConfiguration(): void
2429
{
25-
$config = $this->_getConfig();
26-
2730
$builder = $this->getContainerBuilder();
28-
31+
$config = (array) $this->config;
2932
$builder->addDefinition($this->prefix('storage'))
30-
->setClass('Ublaboo\ImageStorage\ImageStorage')
31-
->setArguments([
32-
$config['data_path'],
33-
$config['data_dir'],
34-
$config['algorithm_file'],
35-
$config['algorithm_content'],
36-
$config['quality'],
37-
$config['default_transform'],
38-
$config['noimage_identifier'],
39-
$config['friendly_url'],
40-
]);
33+
->setType(ImageStorage::class)
34+
->setFactory(ImageStorage::class)
35+
->setArguments($config);
4136
}
4237

4338

4439
public function beforeCompile(): void
4540
{
46-
$config = $this->_getConfig();
47-
4841
$builder = $this->getContainerBuilder();
4942

50-
$builder->getDefinition('nette.latteFactory')
43+
/** @var Nette\DI\Definitions\FactoryDefinition $latteFactory */
44+
$latteFactory = $builder->getDefinition('latte.latteFactory');
45+
assert($latteFactory instanceof Nette\DI\Definitions\FactoryDefinition);
46+
$latteFactory->getResultDefinition()
5147
->addSetup('Contributte\ImageStorage\Macros\Macros::install(?->getCompiler())', ['@self']);
5248
}
5349

54-
55-
/**
56-
* @return mixed
57-
*/
58-
private function _getConfig()
59-
{
60-
$config = $this->validateConfig($this->defaults, $this->config);
61-
62-
$config['data_path'] = Helpers::expand($config['data_path'], $this->getContainerBuilder()->parameters);
63-
64-
return $config;
65-
}
66-
6750
}

0 commit comments

Comments
 (0)