Header   A
last analyzed

Complexity

Total Complexity 5

Size/Duplication

Total Lines 39
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 7

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 5
lcom 1
cbo 7
dl 0
loc 39
ccs 15
cts 15
cp 1
rs 10
c 0
b 0
f 0

4 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 4 2
A parse() 0 9 1
A toArray() 0 3 1
A getHeader() 0 3 1
1
<?php
2
namespace gossi\swagger;
3
4
use gossi\swagger\parts\DescriptionPart;
5
use gossi\swagger\parts\ExtensionPart;
6
use gossi\swagger\parts\ItemsPart;
7
use gossi\swagger\parts\TypePart;
8
use phootwork\collection\CollectionUtils;
9
use phootwork\collection\Map;
10
use phootwork\lang\Arrayable;
11
12
class Header extends AbstractModel implements Arrayable {
13
14
	use DescriptionPart;
15
	use TypePart;
16
	use ItemsPart;
17
	use ExtensionPart;
18
19
	/** @var string */
20
	private $header;
21
22 1
	public function __construct($header, $contents = null) {
23 1
		$this->header = $header;
24 1
		$this->parse($contents === null ? new Map() : $contents);
25 1
	}
26
27 1
	private function parse($contents = []) {
28 1
		$data = CollectionUtils::toMap($contents);
29
30
		// parts
31 1
		$this->parseDescription($data);
32 1
		$this->parseType($data);
33 1
		$this->parseItems($data);
34 1
		$this->parseExtensions($data);
35 1
	}
36
37 1
	public function toArray() {
38 1
		return $this->export('description', $this->getTypeExportFields(), 'items');
39
	}
40
41
	/**
42
	 * Returns the header
43
	 * 
44
	 * @return string
45
	 */
46 1
	public function getHeader() {
47 1
		return $this->header;
48
	}
49
50
}
51