Skip to content

Commit 3eccd56

Browse files
author
Mathieu Darse
committed
New "enabled" config option
1 parent 180e0f8 commit 3eccd56

File tree

4 files changed

+10
-4
lines changed

4 files changed

+10
-4
lines changed

DependencyInjection/Configuration.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ protected function addCassetteNode(ArrayNodeDefinition $rootNode)
2929
{
3030
$rootNode
3131
->children()
32+
->booleanNode('enabled')->defaultTrue()->end()
3233
->arrayNode('library_hooks')
3334
->addDefaultsIfNotSet()
3435
->children()

DependencyInjection/VCRVCRExtension.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ public function load(array $configs, ContainerBuilder $container)
2323
$enabled_request_matchers = array_keys(array_filter($config['request_matchers']));
2424
$container->setParameter('vcr.request_matchers', $enabled_request_matchers);
2525

26+
$container->setParameter('vcr.enabled', $config['enabled']);
2627
$container->setParameter('vcr.cassette.path', $config['cassette']['path']);
2728
$container->setParameter('vcr.cassette.type', $config['cassette']['type']);
2829
$container->setParameter('vcr.cassette.name', $config['cassette']['name']);

Resources/config/services.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,5 +30,3 @@ services:
3030
arguments: [ @vcr.config, @vcr.http_client, @vcr.factory ]
3131
calls:
3232
- [ setEventDispatcher, [ @event_dispatcher ] ]
33-
- [ turnOn, [ ] ]
34-
- [ insertCassette, [ %vcr.cassette.name% ] ]

VCRVCRBundle.php

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,19 @@ class VCRVCRBundle extends Bundle
1111
{
1212
public function boot()
1313
{
14-
$cassettePath = $this->container->getParameter('vcr.cassette.path');
14+
$container = $this->container;
15+
$cassettePath = $container->getParameter('vcr.cassette.path');
1516

1617
if (!is_dir($cassettePath)) {
1718
$fs = new Filesystem();
1819
$fs->mkdir($cassettePath);
1920
}
2021

21-
$this->container->get('vcr.recorder');
22+
if ($container->getParameter('vcr.enabled')) {
23+
$recorder = $container->get('vcr.recorder');
24+
$recorder->turnOn();
25+
$cassetteName = $container->getParameter('vcr.cassette.name');
26+
$recorder->insertCassette($cassetteName);
27+
}
2228
}
2329
}

0 commit comments

Comments
 (0)