Skip to content

Commit 533ae1b

Browse files
committed
Merge pull request #19 from Ener-Getick/master
Add symfony 3.0 support and use safer constraints
2 parents 09ef3d4 + eea650b commit 533ae1b

File tree

5 files changed

+101
-27
lines changed

5 files changed

+101
-27
lines changed

.travis.yml

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,29 @@ php:
44
- 5.3
55
- 5.4
66
- 5.5
7+
- 5.6
8+
9+
cache:
10+
directories:
11+
- $HOME/.composer/cache/files
712

813
matrix:
9-
allow_failures:
10-
- php: 5.5
14+
fast_finish: true
15+
include:
16+
- php: 5.5
17+
env: COMPOSER_FLAGS="--prefer-lowest" SYMFONY_DEPRECATIONS_HELPER=weak
18+
- php: 5.6
19+
env: SYMFONY_VERSION='2.7.*'
20+
- php: 5.6
21+
env: SYMFONY_VERSION='2.8.*'
1122

12-
before_script:
23+
before_install:
24+
- composer self-update
25+
- if [ "$SYMFONY_VERSION" != "" ]; then composer require --dev --no-update symfony/symfony=$SYMFONY_VERSION; fi
1326
- git clone git://github.com/nicolasff/phpredis.git
1427
- cd phpredis && phpize && ./configure && make && sudo make install && cd ..
1528
- echo "extension=redis.so" >> `php --ini | grep "Loaded Configuration" | sed -e "s|.*:\s*||"`
16-
- composer install --dev
29+
30+
install: composer update $COMPOSER_FLAGS
1731

1832
script: phpunit

DependencyInjection/RSQueueExtension.php

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
namespace Mmoreram\RSQueueBundle\DependencyInjection;
44

55
use Symfony\Component\DependencyInjection\ContainerBuilder;
6+
use Symfony\Component\DependencyInjection\Reference;
67
use Symfony\Component\Config\FileLocator;
78
use Symfony\Component\HttpKernel\DependencyInjection\Extension;
89
use Symfony\Component\DependencyInjection\Loader;
@@ -39,5 +40,23 @@ public function load(array $configs, ContainerBuilder $container)
3940

4041
$loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));
4142
$loader->load('services.yml');
43+
44+
// BC sf < 2.6
45+
$definition = $container->getDefinition('rs_queue.serializer');
46+
if (method_exists($definition, 'setFactory')) {
47+
$definition->setFactory(array(new Reference('rs_queue.serializer.factory'), 'get'));
48+
} else {
49+
$definition->setFactoryService('rs_queue.serializer.factory');
50+
$definition->setFactoryMethod('get');
51+
}
52+
53+
// BC sf < 2.6
54+
$definition = $container->getDefinition('rs_queue.redis');
55+
if (method_exists($definition, 'setFactory')) {
56+
$definition->setFactory(array(new Reference('rs_queue.redis.factory'), 'get'));
57+
} else {
58+
$definition->setFactoryService('rs_queue.redis.factory');
59+
$definition->setFactoryMethod('get');
60+
}
4261
}
4362
}

Resources/config/services.yml

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
parameters:
2-
rs_queue.serializer.factory.class: "Mmoreram\RSQueueBundle\Factory\SerializerFactory"
3-
rs_queue.serializer.interface: "Mmoreram\RSQueueBundle\SerializerInterface"
4-
rs_queue.redis.factory.class: "Mmoreram\RSQueueBundle\Factory\RedisFactory"
5-
rs_queue.resolver.queuealias.class: "Mmoreram\RSQueueBundle\Resolver\QueueAliasResolver"
2+
rs_queue.serializer.factory.class: Mmoreram\RSQueueBundle\Factory\SerializerFactory
3+
rs_queue.serializer.interface: Mmoreram\RSQueueBundle\SerializerInterface
4+
rs_queue.redis.factory.class: Mmoreram\RSQueueBundle\Factory\RedisFactory
5+
rs_queue.resolver.queuealias.class: Mmoreram\RSQueueBundle\Resolver\QueueAliasResolver
66

77
services:
88

@@ -13,8 +13,6 @@ services:
1313

1414
rs_queue.serializer:
1515
class: %rs_queue.serializer.interface%
16-
factory_service: rs_queue.serializer.factory
17-
factory_method: get
1816

1917
rs_queue.redis.factory:
2018
class: %rs_queue.redis.factory.class%
@@ -23,8 +21,6 @@ services:
2321

2422
rs_queue.redis:
2523
class: Redis
26-
factory_service: rs_queue.redis.factory
27-
factory_method: get
2824

2925
rs_queue.resolver.queuealias:
3026
class: %rs_queue.resolver.queuealias.class%
@@ -34,10 +30,10 @@ services:
3430
rs_queue.service:
3531
abstract: true
3632
arguments:
37-
eventDispatcher: @event_dispatcher
38-
redis: @rs_queue.redis
39-
queueNamesResolver: @rs_queue.resolver.queuealias
40-
serializer: @rs_queue.serializer
33+
eventDispatcher: "@event_dispatcher"
34+
redis: "@rs_queue.redis"
35+
queueNamesResolver: "@rs_queue.resolver.queuealias"
36+
serializer: "@rs_queue.serializer"
4137

4238
rs_queue.consumer:
4339
class: Mmoreram\RSQueueBundle\Services\Consumer
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
<?php
2+
3+
/*
4+
* This file is part of the FOSRestBundle package.
5+
*
6+
* (c) FriendsOfSymfony <http://friendsofsymfony.github.com/>
7+
*
8+
* For the full copyright and license information, please view the LICENSE
9+
* file that was distributed with this source code.
10+
*/
11+
12+
namespace Mmoreram\RSQueueBundle\Tests\DependencyInjection;
13+
14+
use Mmoreram\RSQueueBundle\DependencyInjection\RSQueueExtension;
15+
use Symfony\Component\DependencyInjection\ContainerBuilder;
16+
use Symfony\Component\DependencyInjection\Definition;
17+
use Symfony\Component\DependencyInjection\DefinitionDecorator;
18+
use Symfony\Component\DependencyInjection\Reference;
19+
20+
/**
21+
* RSQueueExtension test.
22+
*
23+
* @author Ener-Getick <[email protected]>
24+
*/
25+
class RSQueueExtensionTest extends \PHPUnit_Framework_TestCase
26+
{
27+
/**
28+
* @var ContainerBuilder
29+
*/
30+
private $container;
31+
32+
/**
33+
* @var RSQueueExtension
34+
*/
35+
private $extension;
36+
37+
public function setUp()
38+
{
39+
$this->container = new ContainerBuilder();
40+
$this->extension = new RSQueueExtension();
41+
}
42+
43+
public function testExtension() {
44+
$config = array();
45+
$this->extension->load($config, $this->container);
46+
}
47+
}

composer.json

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -13,22 +13,20 @@
1313
],
1414
"require": {
1515
"php": ">=5.3.3",
16-
"symfony/event-dispatcher": ">=2.1",
17-
"symfony/framework-bundle": ">=2.1",
18-
"doctrine/annotations": ">=1.1.2",
19-
"symfony/console": ">=2.1",
20-
"symfony/config": ">=2.1",
21-
"symfony/http-kernel": ">=2.1",
22-
"symfony/dependency-injection": ">=2.1"
16+
"symfony/event-dispatcher": "~2.3|~3.0",
17+
"symfony/framework-bundle": "~2.3|~3.0",
18+
"doctrine/annotations": "^1.1.2",
19+
"symfony/console": "~2.3|~3.0",
20+
"symfony/config": "~2.3|~3.0",
21+
"symfony/http-kernel": "~2.3|~3.0",
22+
"symfony/dependency-injection": "~2.3|~3.0"
2323
},
2424
"require-dev": {
25-
"phpunit/phpunit": "3.7.*"
25+
"symfony/phpunit-bridge": "~2.7"
2626
},
27-
"target-dir": "Mmoreram/RSQueueBundle",
2827
"autoload": {
29-
"psr-0": { "Mmoreram\\RSQueueBundle": "" }
28+
"psr-4": { "Mmoreram\\RSQueueBundle\\": "" }
3029
},
31-
"minimum-stability": "stable",
3230
"extra": {
3331
"branch-alias": {
3432
"dev-master": "1.0-dev"

0 commit comments

Comments
 (0)