Skip to content

Commit 3a8ef46

Browse files
committed
[TASK] Streamline folder and files naming
1 parent 3285e97 commit 3a8ef46

File tree

19 files changed

+113
-44
lines changed

19 files changed

+113
-44
lines changed

.phpstorm.meta.php

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
// see https://confluence.jetbrains.com/display/PhpStorm/PhpStorm+Advanced+Metadata
6+
namespace PHPSTORM_META;
7+
8+
override(\Psr\Container\ContainerInterface::get(0), type(0));

fractor/config/application.php

+6-5
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
<?php
22

3+
use a9f\Fractor\Configuration\AllowedFileExtensionsResolver;
4+
use a9f\Fractor\Configuration\ConfigurationFactory;
35
use a9f\Fractor\Configuration\Option;
6+
use a9f\Fractor\Configuration\ValueObject\Configuration;
47
use a9f\Fractor\Contract\FileProcessor;
5-
use a9f\Fractor\Factory\ConfigurationFactory;
68
use a9f\Fractor\Fractor\FractorRunner;
7-
use a9f\Fractor\ValueObject\Configuration;
89
use Symfony\Component\DependencyInjection\ContainerBuilder;
910
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
1011
use Symfony\Component\DependencyInjection\ParameterBag\ContainerBag;
@@ -25,10 +26,10 @@
2526
$services->load('a9f\\Fractor\\', __DIR__ . '/../src/')
2627
->exclude(
2728
[
28-
__DIR__ . '/../src/Configuration',
2929
__DIR__ . '/../src/Console',
30-
__DIR__ . '/../src/ValueObject',
3130
__DIR__ . '/../src/Testing',
31+
__DIR__ . '/../src/ValueObject',
32+
__DIR__ . '/../src/**/ValueObject',
3233
]
3334
);
3435

@@ -41,7 +42,7 @@
4142

4243
$services->set(Configuration::class)->factory([service(ConfigurationFactory::class), 'create']);
4344
$services->set(FractorRunner::class)->arg('$processors', tagged_iterator('fractor.file_processor'));
44-
$services->set(ConfigurationFactory::class)->arg('$processors', tagged_iterator('fractor.file_processor'));
45+
$services->set(AllowedFileExtensionsResolver::class)->arg('$processors', tagged_iterator('fractor.file_processor'));
4546

4647
$containerBuilder->registerForAutoconfiguration(FileProcessor::class)->addTag('fractor.file_processor');
4748
};
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace a9f\Fractor\Configuration;
6+
7+
use a9f\Fractor\Contract\FileProcessor;
8+
9+
final readonly class AllowedFileExtensionsResolver
10+
{
11+
/**
12+
* @param FileProcessor[] $processors
13+
*/
14+
public function __construct(private iterable $processors)
15+
{
16+
}
17+
18+
/**
19+
* @return list<non-empty-string>
20+
*/
21+
public function resolve(): array
22+
{
23+
$fileExtensions = [];
24+
foreach ($this->processors as $processor) {
25+
$fileExtensions = array_merge($processor->allowedFileExtensions(), $fileExtensions);
26+
}
27+
28+
return array_unique($fileExtensions);
29+
}
30+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace a9f\Fractor\Configuration;
6+
7+
use a9f\Fractor\Configuration\ValueObject\Configuration;
8+
use Symfony\Component\DependencyInjection\ParameterBag\ContainerBagInterface;
9+
10+
final readonly class ConfigurationFactory
11+
{
12+
public function __construct(private ContainerBagInterface $parameterBag, private AllowedFileExtensionsResolver $allowedFileExtensionsResolver)
13+
{
14+
}
15+
16+
public function create(): Configuration
17+
{
18+
return new Configuration(
19+
$this->allowedFileExtensionsResolver->resolve(),
20+
$this->parameterBag->get(Option::PATHS),
21+
);
22+
}
23+
}

fractor/src/ValueObject/Configuration.php fractor/src/Configuration/ValueObject/Configuration.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
declare(strict_types=1);
44

5-
namespace a9f\Fractor\ValueObject;
5+
namespace a9f\Fractor\Configuration\ValueObject;
66

77
use Webmozart\Assert\Assert;
88

fractor/src/Factory/ConfigurationFactory.php

-33
This file was deleted.

fractor/src/Fractor/FractorRunner.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@
22

33
namespace a9f\Fractor\Fractor;
44

5+
use a9f\Fractor\Configuration\ValueObject\Configuration;
56
use a9f\Fractor\Contract\FilePrinter;
67
use a9f\Fractor\Contract\FileProcessor;
78
use a9f\Fractor\Contract\Output;
89
use a9f\Fractor\FileSystem\FileCollector;
910
use a9f\Fractor\FileSystem\FileFinder;
10-
use a9f\Fractor\ValueObject\Configuration;
1111
use a9f\Fractor\ValueObject\File;
1212
use Nette\Utils\FileSystem;
1313

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace a9f\Fractor\Tests\Configuration\AllowedFileExtensionsResolver;
6+
7+
use a9f\Fractor\Configuration\AllowedFileExtensionsResolver;
8+
use a9f\Fractor\Testing\PHPUnit\AbstractFractorTestCase;
9+
10+
final class AllowedFileExtensionsResolverTest extends AbstractFractorTestCase
11+
{
12+
public function test(): void
13+
{
14+
// Arrange
15+
$allowedFileExtensionsResolver = $this->getService(AllowedFileExtensionsResolver::class);
16+
17+
// Act & Assert
18+
self::assertSame(['txt'], $allowedFileExtensionsResolver->resolve());
19+
}
20+
protected function additionalConfigurationFiles(): array
21+
{
22+
return [
23+
__DIR__ . '/config/config.php'
24+
];
25+
}
26+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<?php
2+
3+
use a9f\Fractor\Tests\Helper\FileProcessor\TextFileProcessor;
4+
use Symfony\Component\DependencyInjection\ContainerBuilder;
5+
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
6+
use function Symfony\Component\DependencyInjection\Loader\Configurator\tagged_iterator;
7+
8+
return static function (ContainerConfigurator $containerConfigurator, ContainerBuilder $containerBuilder): void {
9+
$services = $containerConfigurator->services();
10+
$services->defaults()
11+
->autowire()
12+
->autoconfigure();
13+
$services->set(TextFileProcessor::class)->arg('$rules', tagged_iterator('fractor.text_rules'));
14+
};

fractor/tests/FileSystem/FileFinderTest.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,12 @@ public function anExceptionIsThrownWhenDirectoriesAreEmpty(): void
2929
#[Test]
3030
public function findAllNonEmptyFilesInGivenDirectories(): void
3131
{
32-
self::assertCount(4, $this->subject->findFiles([__DIR__ . '/Fixture/DirectorToSearchIn'], []));
32+
self::assertCount(4, $this->subject->findFiles([__DIR__ . '/Fixtures/DirectorToSearchIn'], []));
3333
}
3434

3535
#[Test]
3636
public function findAllNonEmptyFilesInGivenDirectoriesWithGivenExtensions(): void
3737
{
38-
self::assertCount(2, $this->subject->findFiles([__DIR__ . '/Fixture/DirectorToSearchIn'], ['txt', 'json']));
38+
self::assertCount(2, $this->subject->findFiles([__DIR__ . '/Fixtures/DirectorToSearchIn'], ['txt', 'json']));
3939
}
4040
}

fractor/tests/Fractor/FractorRunner/FractorRunnerTest.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ public function test(): void
1616
protected function additionalConfigurationFiles(): array
1717
{
1818
return [
19-
__DIR__ . '/config/application.php'
19+
__DIR__ . '/config/config.php'
2020
];
2121
}
2222
}

typo3-fractor/tests/Rules/FlexForm/AddRenderTypeToFlexFormFractorTest.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ public function test(): void
1414
protected function additionalConfigurationFiles(): array
1515
{
1616
return [
17-
__DIR__ . '/config/application.php',
17+
__DIR__ . '/config/config.php',
1818
];
1919
}
2020
}

0 commit comments

Comments
 (0)