Completed
Pull Request — master (#5)
by mw
01:39
created

FakeCallbackContainer::addCallbackHandlers()   B

Complexity

Conditions 1
Paths 1

Size

Total Lines 27
Code Lines 15

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 27
rs 8.8571
c 0
b 0
f 0
cc 1
eloc 15
nc 1
nop 1
1
<?php
2
3
namespace Onoi\CallbackContainer\Fixtures;
4
5
use Onoi\CallbackContainer\CallbackContainer;
6
use Onoi\CallbackContainer\ContainerBuilder;
7
8
/**
9
 * @license GNU GPL v2+
10
 * @since 1.0
11
 *
12
 * @author mwjames
13
 */
14
class FakeCallbackContainer implements CallbackContainer {
15
16
	public function register( ContainerBuilder $containerBuilder ) {
17
		$this->addCallbackHandlers( $containerBuilder );
18
	}
19
20
	private function addCallbackHandlers( $containerBuilder ) {
21
22
		$containerBuilder->registerCallback( 'Foo', function( $containerBuilder ) {
0 ignored issues
show
Unused Code introduced by
The parameter $containerBuilder is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
23
			return new \stdClass;
24
		} );
25
26
		$containerBuilder->registerExpectedReturnType( 'Foo', '\stdClass' );
27
28
		$containerBuilder->registerCallback( 'FooWithArgument', function( $containerBuilder, $argument ) {
29
			$containerBuilder->registerExpectedReturnType( 'FooWithArgument', '\stdClass' );
30
31
			$stdClass = new \stdClass;
32
			$stdClass->argument = $argument;
33
34
			return $stdClass;
35
		} );
36
37
		$containerBuilder->registerCallback( 'FooWithNullArgument', function( $containerBuilder, $argument = null ) {
38
			$containerBuilder->registerExpectedReturnType( 'FooWithNullArgument', '\stdClass' );
39
40
			$stdClass = new \stdClass;
41
			$stdClass->argument = $argument;
42
			$stdClass->argumentWithArgument = $containerBuilder->create( 'FooWithArgument', $argument );
43
44
			return $stdClass;
45
		} );
46
	}
47
48
}
49