Skip to content

Commit d5349d1

Browse files
authored
Merge pull request #12 from yokai-php/2.x
2.x
2 parents ddb1397 + f0b10a1 commit d5349d1

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

50 files changed

+215
-199
lines changed

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
/phpunit.xml
2-
*~
32
composer.lock
43
/vendor/
4+
/build/

.travis.yml

Lines changed: 10 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,17 @@
11
language: php
22

33
php:
4-
- 5.5
54
- 5.6
65
- 7.0
7-
- hhvm
8-
9-
matrix:
10-
fast_finish: true
11-
include:
12-
- php: 5.6
13-
env: SYMFONY_VERSION=2.7.*
14-
- php: 5.6
15-
env: SYMFONY_VERSION=2.8.*
16-
- php: 5.6
17-
env: SYMFONY_VERSION="3.0.*"
18-
- php: 5.6
19-
env: SYMFONY_VERSION="3.1.*"
20-
- php: 5.6
21-
env: SYMFONY_VERSION="3.2.*@dev"
22-
allow_failures:
23-
- env: SYMFONY_VERSION=3.2.*@dev
6+
- 7.1
7+
8+
env:
9+
- SYMFONY_VERSION="2.7.*"
10+
- SYMFONY_VERSION="2.8.*"
11+
- SYMFONY_VERSION="3.0.*"
12+
- SYMFONY_VERSION="3.1.*"
13+
- SYMFONY_VERSION="3.2"
14+
- SYMFONY_VERSION="3.3.x-dev as 3.3"
2415

2516
sudo: false
2617

@@ -42,4 +33,4 @@ after_script:
4233
- php ocular.phar code-coverage:upload --format=php-clover coverage.clover
4334

4435
notifications:
45-
email: yann.[email protected]
36+
email: eugone.yann@gmail.com

DependencyInjection/CompilerPass/ConventionedEnumCollectorCompilerPass.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
<?php
22

3-
namespace EnumBundle\DependencyInjection\CompilerPass;
3+
namespace Yokai\EnumBundle\DependencyInjection\CompilerPass;
44

55
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
66
use Symfony\Component\DependencyInjection\ContainerBuilder;
77

88
/**
9-
* @author Yann Eugoné <yann.[email protected]>
9+
* @author Yann Eugoné <eugone.yann@gmail.com>
1010
*/
1111
class ConventionedEnumCollectorCompilerPass implements CompilerPassInterface
1212
{
1313
/**
14-
* {@inheritdoc}
14+
* @inheritdoc
1515
*/
1616
public function process(ContainerBuilder $container)
1717
{

DependencyInjection/CompilerPass/DeclarativeEnumCollectorCompilerPass.php

Lines changed: 23 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,22 @@
11
<?php
22

3-
namespace EnumBundle\DependencyInjection\CompilerPass;
3+
namespace Yokai\EnumBundle\DependencyInjection\CompilerPass;
44

5-
use EnumBundle\Enum\AbstractTranslatedEnum;
6-
use EnumBundle\Enum\EnumInterface;
5+
use ReflectionClass;
6+
use RuntimeException;
7+
use Symfony\Component\DependencyInjection\ChildDefinition;
78
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
89
use Symfony\Component\DependencyInjection\Container;
910
use Symfony\Component\DependencyInjection\ContainerBuilder;
1011
use Symfony\Component\DependencyInjection\Definition;
1112
use Symfony\Component\DependencyInjection\DefinitionDecorator;
1213
use Symfony\Component\Finder\Finder;
1314
use Symfony\Component\Finder\SplFileInfo;
15+
use Yokai\EnumBundle\Enum\AbstractTranslatedEnum;
16+
use Yokai\EnumBundle\Enum\EnumInterface;
1417

1518
/**
16-
* @author Yann Eugoné <yann.[email protected]>
19+
* @author Yann Eugoné <eugone.yann@gmail.com>
1720
*/
1821
class DeclarativeEnumCollectorCompilerPass implements CompilerPassInterface
1922
{
@@ -43,7 +46,7 @@ class DeclarativeEnumCollectorCompilerPass implements CompilerPassInterface
4346
*/
4447
public function __construct($bundle, $transDomain = null)
4548
{
46-
$reflection = new \ReflectionClass($bundle);
49+
$reflection = new ReflectionClass($bundle);
4750
$this->bundleDir = dirname($reflection->getFileName());
4851
$this->bundleNamespace = $reflection->getNamespaceName();
4952
$this->bundleName = $reflection->getShortName();
@@ -52,12 +55,12 @@ public function __construct($bundle, $transDomain = null)
5255
}
5356

5457
/**
55-
* {@inheritdoc}
58+
* @inheritdoc
5659
*/
5760
public function process(ContainerBuilder $container)
5861
{
5962
if (!class_exists('Symfony\Component\Finder\Finder')) {
60-
throw new \RuntimeException('You need the symfony/finder component to register enums.');
63+
throw new RuntimeException('You need the symfony/finder component to register enums.');
6164
}
6265

6366
$enumDir = $this->bundleDir . '/Enum';
@@ -77,18 +80,28 @@ public function process(ContainerBuilder $container)
7780
}
7881

7982
$enumClass = $enumNamespace . '\\' . $file->getBasename('.php');
80-
$enumReflection = new \ReflectionClass($enumClass);
83+
$enumReflection = new ReflectionClass($enumClass);
8184

8285
if (!$enumReflection->isSubclassOf(EnumInterface::class) || $enumReflection->isAbstract()) {
8386
continue; //Not an enum or abstract enum
8487
}
8588

8689
$definition = null;
87-
$requiredParameters = $enumReflection->getConstructor() ? $enumReflection->getConstructor()->getNumberOfRequiredParameters() : 0;
90+
$requiredParameters = 0;
91+
if ($enumReflection->getConstructor()) {
92+
$requiredParameters = $enumReflection->getConstructor()->getNumberOfRequiredParameters();
93+
}
94+
8895
if ($requiredParameters === 0) {
8996
$definition = new Definition($enumClass);
9097
} elseif ($requiredParameters === 2 && $enumReflection->isSubclassOf(AbstractTranslatedEnum::class)) {
91-
$definition = new DefinitionDecorator('enum.abstract_translated');
98+
if (class_exists('Symfony\Component\DependencyInjection\ChildDefinition')) {
99+
// ChildDefinition was introduced as Symfony 3.3
100+
$definition = new ChildDefinition('enum.abstract_translated');
101+
} else {
102+
// DefinitionDecorator was deprecated as Symfony 3.3
103+
$definition = new DefinitionDecorator('enum.abstract_translated');
104+
}
92105
$definition->setClass($enumClass);
93106
$definition->addArgument(
94107
$this->getTransPattern($enumClass)

DependencyInjection/CompilerPass/TaggedEnumCollectorCompilerPass.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
<?php
22

3-
namespace EnumBundle\DependencyInjection\CompilerPass;
3+
namespace Yokai\EnumBundle\DependencyInjection\CompilerPass;
44

55
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
66
use Symfony\Component\DependencyInjection\ContainerBuilder;
77
use Symfony\Component\DependencyInjection\Reference;
88

99
/**
10-
* @author Yann Eugoné <yann.[email protected]>
10+
* @author Yann Eugoné <eugone.yann@gmail.com>
1111
*/
1212
class TaggedEnumCollectorCompilerPass implements CompilerPassInterface
1313
{
1414
/**
15-
* {@inheritdoc}
15+
* @inheritdoc
1616
*/
1717
public function process(ContainerBuilder $container)
1818
{

DependencyInjection/Configuration.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
<?php
22

3-
namespace EnumBundle\DependencyInjection;
3+
namespace Yokai\EnumBundle\DependencyInjection;
44

55
use Symfony\Component\Config\Definition\Builder\TreeBuilder;
66
use Symfony\Component\Config\Definition\ConfigurationInterface;
77

88
/**
9-
* @author Yann Eugoné <[email protected]>
9+
* @author Yann Eugoné <[email protected]>
1010
*/
1111
class Configuration implements ConfigurationInterface
1212
{
1313
/**
14-
* @inheritDoc
14+
* @inheritdoc
1515
*/
1616
public function getConfigTreeBuilder()
1717
{

DependencyInjection/EnumExtension.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
11
<?php
22

3-
namespace EnumBundle\DependencyInjection;
3+
namespace Yokai\EnumBundle\DependencyInjection;
44

55
use Symfony\Component\Config\FileLocator;
66
use Symfony\Component\DependencyInjection\ContainerBuilder;
77
use Symfony\Component\DependencyInjection\Loader\XmlFileLoader;
88
use Symfony\Component\HttpKernel\DependencyInjection\Extension;
99

1010
/**
11-
* @author Yann Eugoné <yann.[email protected]>
11+
* @author Yann Eugoné <eugone.yann@gmail.com>
1212
*/
1313
class EnumExtension extends Extension
1414
{
1515
/**
16-
* {@inheritdoc}
16+
* @inheritdoc
1717
*/
1818
public function load(array $configs, ContainerBuilder $container)
1919
{

Enum/AbstractTranslatedEnum.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
<?php
22

3-
namespace EnumBundle\Enum;
3+
namespace Yokai\EnumBundle\Enum;
44

5-
use EnumBundle\Exception\InvalidTranslatePatternException;
65
use Symfony\Component\Translation\TranslatorInterface;
6+
use Yokai\EnumBundle\Exception\InvalidTranslatePatternException;
77

88
/**
9-
* @author Yann Eugoné <yann.[email protected]>
9+
* @author Yann Eugoné <eugone.yann@gmail.com>
1010
*/
1111
abstract class AbstractTranslatedEnum implements EnumInterface
1212
{

Enum/EnumInterface.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
<?php
22

3-
namespace EnumBundle\Enum;
3+
namespace Yokai\EnumBundle\Enum;
44

55
/**
6-
* @author Yann Eugoné <yann.[email protected]>
6+
* @author Yann Eugoné <eugone.yann@gmail.com>
77
*/
88
interface EnumInterface
99
{

Exception/DuplicatedEnumException.php

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
<?php
22

3-
namespace EnumBundle\Exception;
3+
namespace Yokai\EnumBundle\Exception;
4+
5+
use BadMethodCallException;
46

57
/**
6-
* @author Yann Eugoné <yann.[email protected]>
8+
* @author Yann Eugoné <eugone.yann@gmail.com>
79
*/
8-
class DuplicatedEnumException extends \BadMethodCallException
10+
class DuplicatedEnumException extends BadMethodCallException
911
{
1012
/**
1113
* @param string $name

0 commit comments

Comments
 (0)