QueryCollection::jsonSerialize()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 7
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 5
c 1
b 0
f 0
nc 1
nop 0
dl 0
loc 7
rs 10
1
<?php
2
3
namespace olvlvl\ElasticsearchDSL\Query;
4
5
use ICanBoogie\Accessor\AccessorTrait;
6
use olvlvl\ElasticsearchDSL\Helpers;
7
8
class QueryCollection implements
9
	HasTextQueries,
10
	HasTermQueries,
11
	HasCompoundQueries,
12
	HasJoiningQueries,
13
	\JsonSerializable
14
{
15
	use AccessorTrait;
16
	use TextQueries;
17
	use TermQueries;
18
	use CompoundQueries;
19
	use JoiningQueries;
20
21
	/**
22
	 * @inheritdoc
23
	 */
24
	public function __toString()
25
	{
26
		return json_encode($this, JSON_PRETTY_PRINT);
27
	}
28
29
	/**
30
	 * @inheritdoc
31
	 */
32
	public function jsonSerialize()
33
	{
34
		return Helpers::merge_and_prefer_single(
35
			$this->jsonSerializeTextQueries(),
36
			$this->jsonSerializeTermQueries(),
37
			$this->jsonSerializeCompoundQueries(),
38
			$this->jsonSerializeJoiningQueries()
39
		);
40
	}
41
}
42