Completed
Pull Request — master (#197)
by Sergey
02:33
created

Keywords   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 39
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 2

Importance

Changes 0
Metric Value
wmc 3
lcom 0
cbo 2
dl 0
loc 39
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A recommendedFor() 0 11 1
A getKeywordsFromRequest() 0 14 2
1
<?php
2
3
namespace seregazhuk\PinterestBot\Api\Providers;
4
5
use seregazhuk\PinterestBot\Helpers\UrlBuilder;
6
7
class Keywords extends Provider
8
{
9
    /**
10
     * Get recommendations for query word. 
11
     * 
12
     * @param $query
13
     * @return array|bool
14
     */
15
    public function recommendedFor($query)
16
    {
17
        $requestOptions = [
18
            'scope' => 'pins',
19
            'query' => $query,
20
        ];
21
22
        $result = $this->execGetRequest($requestOptions, UrlBuilder::getSearchUrl());
23
24
        return $this->getKeywordsFromRequest($result);
25
    }
26
27
    /**
28
     * @param bool|array $response
29
     * @return bool|array
30
     */
31
    protected function getKeywordsFromRequest($response)
32
    {
33
        if (!isset($response['guides'])) return [];
34
35
        $keywords = $response['guides'];
36
37
        return array_map(function ($keywordData) {
38
            return [
39
                'term'     => $keywordData['term'],
40
                'display'  => $keywordData['display'],
41
                'position' => $keywordData['position'],
42
            ];
43
        }, $keywords);
44
    }
45
}