AddressesAwareTrait   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 25
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 2

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 4
lcom 1
cbo 2
dl 0
loc 25
ccs 8
cts 8
cp 1
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A setAddresses() 0 16 4
1
<?php
2
namespace Germania\Addresses;
3
4
trait AddressesAwareTrait
5
{
6
	use AddressesProviderTrait;
7
8
9
	/**
10
	 * @inheritDoc
11
	 */
12 10
	public function setAddresses(iterable $addresses) : self
13
	{
14
15 10
		if ($addresses instanceOf AddressesCollectionInterface):
16 4
			$this->addresses = $addresses;
17
		
18 6
		elseif (is_array($addresses)):
19 2
			$this->addresses = new AddressesCollection( $addresses );
20
21 4
		elseif ($addresses instanceOf \Traversable):
22 4
			$this->addresses = new AddressesCollection( iterator_to_array($addresses ));			
23
24
		endif; 
25
26 10
		return $this;
27
	}
28
}