Completed
Push — develop ( ce465f...dc3813 )
by David
02:29 queued 11s
created

All_Autocomplete_Service::__construct()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
nc 1
nop 1
dl 0
loc 4
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace Wordlift\Autocomplete;
4
5
class All_Autocomplete_Service implements Autocomplete_Service {
6
7
8
	/**
9
	 * @var Autocomplete_Service|Autocomplete_Service[] $autocomplete_services
10
	 */
11
	private $autocomplete_services;
12
13
	/**
14
	 * All_Autocomplete_Service constructor.
15
	 *
16
	 * @param Autocomplete_Service|Autocomplete_Service[] $autocomplete_services
17
	 */
18
	public function __construct( $autocomplete_services ) {
19
20
		$this->autocomplete_services = (array) $autocomplete_services;
21
	}
22
23
	/**
24
	 * {@inheritDoc}
25
	 */
26
	public function query( $query, $scope, $excludes ) {
27
28
		// Query each Autocomplete service and merge the results.
29
		return array_reduce( $this->autocomplete_services, function ( $carry, $item ) use ( $query, $scope, $excludes ) {
30
31
			$results = $item->query( $query, $scope, $excludes );
32
33
			return array_merge( $carry, $results );
34
		}, array() );
35
36
	}
37
38
}
39