Completed
Push — master ( f579b8...c5e777 )
by Thomas
07:12 queued 02:33
created

ApplicationSerializerTrait::package()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 8
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

Changes 2
Bugs 0 Features 0
Metric Value
c 2
b 0
f 0
dl 0
loc 8
rs 9.4285
cc 1
eloc 6
nc 1
nop 1
1
<?php
2
namespace keeko\core\serializer\base;
3
4
use keeko\framework\utils\HydrateUtils;
5
6
/**
7
 */
8
trait ApplicationSerializerTrait {
9
10
	/**
11
	 * @param mixed $model
12
	 * @param array $fields
13
	 */
14
	public function getAttributes($model, array $fields = null) {
1 ignored issue
show
Unused Code introduced by
The parameter $fields 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...
15
		return [
16
			'class_name' => $model->ClassName(),
17
			'id' => $model->Id(),
18
			'name' => $model->Name(),
19
			'title' => $model->Title(),
20
			'description' => $model->Description(),
21
			'installed_version' => $model->InstalledVersion(),
22
		];
23
	}
24
25
	/**
26
	 */
27
	public function getFields() {
28
		return ['class_name', 'id', 'name', 'title', 'description', 'installed_version'];
29
	}
30
31
	/**
32
	 * @param mixed $model
33
	 */
34
	public function getId($model) {
0 ignored issues
show
Documentation introduced by
The return type could not be reliably inferred; please add a @return annotation.

Our type inference engine in quite powerful, but sometimes the code does not provide enough clues to go by. In these cases we request you to add a @return annotation as described here.

Loading history...
35
		return $model->getId();
36
	}
37
38
	/**
39
	 */
40
	public function getRelationships() {
41
		return [
42
		];
43
	}
44
45
	/**
46
	 */
47
	public function getSortFields() {
48
		return ['class_name', 'id', 'name', 'title', 'description', 'installed_version'];
49
	}
50
51
	/**
52
	 * @param mixed $model
53
	 */
54
	public function getType($model) {
1 ignored issue
show
Unused Code introduced by
The parameter $model 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...
55
		return 'core/application';
56
	}
57
58
	/**
59
	 * @param mixed $model
60
	 * @param mixed $data
61
	 */
62
	public function hydrate($model, $data) {
0 ignored issues
show
Documentation introduced by
The return type could not be reliably inferred; please add a @return annotation.

Our type inference engine in quite powerful, but sometimes the code does not provide enough clues to go by. In these cases we request you to add a @return annotation as described here.

Loading history...
63
		// attributes
64
		$attribs = isset($data['attributes']) ? $data['attributes'] : [];
65
66
		$model = HydrateUtils::hydrate($attribs, $model, ['class_name', 'id', 'name', 'title', 'description', 'installed_version']);
67
68
		// relationships
69
		$this->hydrateRelationships($model, $data);
0 ignored issues
show
Bug introduced by
The method hydrateRelationships() does not exist on keeko\core\serializer\ba...licationSerializerTrait. Did you maybe mean hydrate()?

This check marks calls to methods that do not seem to exist on an object.

This is most likely the result of a method being renamed without all references to it being renamed likewise.

Loading history...
70
71
		return $model;
72
	}
73
}
74