Completed
Pull Request — master (#139)
by
unknown
04:18
created

ModelClient::getMatch()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 10
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 6
CRAP Score 1

Importance

Changes 1
Bugs 0 Features 1
Metric Value
c 1
b 0
f 1
dl 0
loc 10
ccs 6
cts 6
cp 1
rs 9.4286
cc 1
eloc 6
nc 1
nop 1
crap 1
1
<?php
2
/**
3
 * Yandex PHP Library
4
 *
5
 * @copyright NIX Solutions Ltd.
6
 * @link      https://github.com/nixsolutions/yandex-php-library
7
 */
8
9
/**
10
 * @namespace
11
 */
12
namespace Yandex\Market\Content\Clients;
13
14
use Yandex\Market\Content\ContentClient;
15
use Yandex\Market\Content\Models;
16
17
/**
18
 * Class ModelClient
19
 *
20
 * @category Yandex
21
 * @package  MarketContent
22
 *
23
 * @author  Oleg Scherbakov <[email protected]>
24
 * @created 05.01.16 01:06
25
 */
26
class ModelClient extends ContentClient
27
{
28
    /**
29
     * Get model information
30
     *
31
     * Returns model of Yandex.Market service according to params.
32
     *
33
     * @see https://tech.yandex.ru/market/content-data/doc/dg/reference/model-id-docpage/
34
     *
35
     * @param int   $modelId
36
     * @param array $params
37
     *
38
     * @return Models\ResponseModelGet
39
     */
40 1 View Code Duplication
    public function get($modelId, $params = array())
0 ignored issues
show
Duplication introduced by
This method seems to be duplicated in your project.

Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation.

You can also find more detailed suggestions in the “Code” section of your repository.

Loading history...
41
    {
42 1
        $resource = 'model/' . $modelId . '.json';
43 1
        $resource .= '?' . $this->buildQueryString($params);
44 1
        $response = $this->getServiceResponse($resource);
45
46 1
        $getModelResponse = new Models\ResponseModelGet($response);
47
48 1
        return $getModelResponse->getModel();
49
    }
50
51
    /**
52
     * Get model short information
53
     *
54
     * Returns short model of Yandex.Market service according to params.
55
     *
56
     * @see https://tech.yandex.ru/market/content-data/doc/dg/reference/model-id-info-docpage/
57
     *
58
     * @param int   $modelId
59
     * @param array $params
60
     *
61
     * @return Models\ResponseModelInfoGet
62
     */
63 1
    public function getInfo($modelId, $params = array())
64
    {
65 1
        $resource = 'model/' . $modelId . '/info.json';
66 1
        $resource .= '?' . $this->buildQueryString($params);
67 1
        $response = $this->getServiceResponse($resource);
68
69 1
        $getModelInfoResponse = new Models\ResponseModelInfoGet($response);
70
71 1
        return $getModelInfoResponse;
72
    }
73
74
    /**
75
     * Get offers in model
76
     *
77
     * Returns offers list represented in model of Yandex.Market service according to params.
78
     *
79
     * @see https://tech.yandex.ru/market/content-data/doc/dg/reference/model-id-offers-docpage/
80
     *
81
     * @param int   $modelId
82
     * @param array $params
83
     *
84
     * @return Models\ResponseModelOffersGet
85
     */
86 1
    public function getOffers($modelId, $params = array())
87
    {
88 1
        $resource = 'model/' . $modelId . '/offers.json';
89 1
        $resource .= '?' . $this->buildQueryString($params);
90 1
        $response = $this->getServiceResponse($resource);
91
92 1
        $getOffersResponse = new Models\ResponseModelOffersGet($response);
93
94 1
        return $getOffersResponse;
95
    }
96
97
    /**
98
     * Get outlets of model
99
     *
100
     * Returns outlets list where model of Yandex.Market service represented according to params.
101
     *
102
     * @see https://tech.yandex.ru/market/content-data/doc/dg/reference/model-id-outlets-docpage/
103
     *
104
     * @param int   $modelId
105
     * @param array $params
106
     *
107
     * @return Models\ResponseModelOutletsGet
108
     */
109 1
    public function getOutlets($modelId, $params = array())
110
    {
111 1
        $resource = 'model/' . $modelId . '/outlets.json';
112 1
        $resource .= '?' . $this->buildQueryString($params);
113 1
        $response = $this->getServiceResponse($resource);
114
115 1
        $getOutletsResponse = new Models\ResponseModelOutletsGet($response);
116
117 1
        return $getOutletsResponse;
118
    }
119
120
    /**
121
     * Get reviews of model
122
     *
123
     * Returns reviews list where model of Yandex.Market service represented.
124
     *
125
     * @see https://tech.yandex.ru/market/content-data/doc/dg/reference/model-id-reviews-docpage/
126
     *
127
     * @param int $modelId
128
     *
129
     * @return Models\ResponseModelReviewsGet
130
     */
131 1
    public function getReviews($modelId)
132
    {
133 1
        $resource = 'model/' . $modelId . '/reviews.json';
134 1
        $response = $this->getServiceResponse($resource);
135
136 1
        $getReviewsResponse = new Models\ResponseModelReviewsGet($response);
137
138 1
        return $getReviewsResponse;
139
    }
140
141
    /**
142
     * Get model(-s) by name and params
143
     *
144
     * Returns model(-s) of Yandex.Market service by name and params.
145
     *
146
     * @see https://tech.yandex.ru/market/content-data/doc/dg/reference/model-match-docpage/
147
     *
148
     * @param array $params
149
     *
150
     * @return Models\ResponseModelMatchGet
151
     */
152 1
    public function getMatch($params = array())
153
    {
154 1
        $resource = 'model/match.json';
155 1
        $resource .= '?' . $this->buildQueryString($params);
156 1
        $response = $this->getServiceResponse($resource);
157
158 1
        $getModelMatchResponse = new Models\ResponseModelMatchGet($response);
159
160 1
        return $getModelMatchResponse;
161
    }
162
163
    /**
164
     * Get opinions of model
165
     *
166
     * Returns opinions list of Yandex.Market service model.
167
     *
168
     * @see https://tech.yandex.ru/market/content-data/doc/dg/reference/model-id-opinion-docpage/
169
     *
170
     * @param int   $modelId
171
     * @param array $params
172
     *
173
     * @return Models\ResponseModelOpinionsGet
174
     */
175 1
    public function getOpinions($modelId, $params = array())
176
    {
177 1
        $resource = 'model/' . $modelId . '/opinion.json';
178 1
        $resource .= '?' . $this->buildQueryString($params);
179 1
        $response = $this->getServiceResponse($resource);
180
181 1
        $modelOpinions = new Models\ResponseModelOpinionsGet($response);
182
183 1
        return $modelOpinions;
184
    }
185
}
186