Completed
Pull Request — master (#4)
by mw
11:15 queued 09:43
created

FakeCallbackContainer   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 35
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 0

Importance

Changes 0
Metric Value
wmc 2
lcom 0
cbo 0
dl 0
loc 35
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A register() 0 3 1
B addCallbackHandlers() 0 27 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