Passed
Push — master ( 8ed01e...08cfff )
by Romain
02:40
created

UserResponse   A

Complexity

Total Complexity 26

Size/Duplication

Total Lines 221
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 2

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 26
lcom 1
cbo 2
dl 0
loc 221
ccs 61
cts 61
cp 1
rs 10
c 0
b 0
f 0

18 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 4 1
A parseResponse() 0 11 1
A getFirstName() 0 4 1
A setFirstName() 0 6 2
A getLastName() 0 4 1
A setLastName() 0 6 2
A getProfilePic() 0 4 1
A setProfilePic() 0 6 2
A getLocale() 0 4 1
A setLocale() 0 6 2
A getTimezone() 0 4 1
A setTimezone() 0 6 2
A getGender() 0 4 1
A setGender() 0 6 2
A getLastAdReferral() 0 4 1
A setLastAdReferral() 0 6 2
A isPaymentEnabled() 0 4 1
A setPaymentEnabled() 0 6 2
1
<?php
2
3
namespace Kerox\Messenger\Response;
4
5
use Kerox\Messenger\Model\Referral;
6
use Kerox\Messenger\UserInterface;
7
use Psr\Http\Message\ResponseInterface;
8
9
class UserResponse extends AbstractResponse implements UserInterface
10
{
11
12
    /**
13
     * @var null|string
14
     */
15
    protected $firstName;
16
17
    /**
18
     * @var null|string
19
     */
20
    protected $lastName;
21
22
    /**
23
     * @var null|string
24
     */
25
    protected $profilePic;
26
27
    /**
28
     * @var null|string
29
     */
30
    protected $locale;
31
32
    /**
33
     * @var null|int
34
     */
35
    protected $timezone;
36
37
    /**
38
     * @var null|string
39
     */
40
    protected $gender;
41
42
    /**
43
     * @var null|bool
44
     */
45
    protected $paymentEnabled;
46
47
    /**
48
     * @var null|\Kerox\Messenger\Model\Referral
49
     */
50
    protected $lastAdReferral;
51
52
    /**
53
     * UserProfileResponse constructor.
54
     *
55
     * @param \Psr\Http\Message\ResponseInterface $response
56
     */
57 2
    public function __construct(ResponseInterface $response)
58
    {
59 2
        parent::__construct($response);
60 2
    }
61
62
    /**
63
     * @param array $response
64
     * @return void
65
     */
66 2
    protected function parseResponse(array $response)
67
    {
68 2
        $this->setFirstName($response);
69 2
        $this->setLastName($response);
70 2
        $this->setProfilePic($response);
71 2
        $this->setLocale($response);
72 2
        $this->setTimezone($response);
73 2
        $this->setGender($response);
74 2
        $this->setPaymentEnabled($response);
75 2
        $this->setLastAdReferral($response);
76 2
    }
77
78
    /**
79
     * @return null|string
80
     */
81 1
    public function getFirstName()
82
    {
83 1
        return $this->firstName;
84
    }
85
86
    /**
87
     * @param array $response
88
     * @return void
89
     */
90 2
    private function setFirstName(array $response)
91
    {
92 2
        if (isset($response[self::FIRST_NAME])) {
93 2
            $this->firstName = $response[self::FIRST_NAME];
94
        }
95 2
    }
96
97
    /**
98
     * @return null|string
99
     */
100 1
    public function getLastName()
101
    {
102 1
        return $this->lastName;
103
    }
104
105
    /**
106
     * @param array $response
107
     * @return void
108
     */
109 2
    private function setLastName(array $response)
110
    {
111 2
        if (isset($response[self::LAST_NAME])) {
112 2
            $this->lastName = $response[self::LAST_NAME];
113
        }
114 2
    }
115
116
    /**
117
     * @return null|string
118
     */
119 1
    public function getProfilePic()
120
    {
121 1
        return $this->profilePic;
122
    }
123
124
    /**
125
     * @param array $response
126
     * @return void
127
     */
128 2
    private function setProfilePic(array $response)
129
    {
130 2
        if (isset($response[self::PROFILE_PIC])) {
131 2
            $this->profilePic = $response[self::PROFILE_PIC];
132
        }
133 2
    }
134
135
    /**
136
     * @return null|string
137
     */
138 1
    public function getLocale()
139
    {
140 1
        return $this->locale;
141
    }
142
143
    /**
144
     * @param array $response
145
     * @return void
146
     */
147 2
    private function setLocale(array $response)
148
    {
149 2
        if (isset($response[self::LOCALE])) {
150 2
            $this->locale = $response[self::LOCALE];
151
        }
152 2
    }
153
154
    /**
155
     * @return null|int
156
     */
157 1
    public function getTimezone()
158
    {
159 1
        return $this->timezone;
160
    }
161
162
    /**
163
     * @param array $response
164
     * @return void
165
     */
166 2
    private function setTimezone(array $response)
167
    {
168 2
        if (isset($response[self::TIMEZONE])) {
169 2
            $this->timezone = $response[self::TIMEZONE];
170
        }
171 2
    }
172
173
    /**
174
     * @return null|string
175
     */
176 1
    public function getGender()
177
    {
178 1
        return $this->gender;
179
    }
180
181
    /**
182
     * @param array $response
183
     * @return void
184
     */
185 2
    private function setGender(array $response)
186
    {
187 2
        if (isset($response[self::GENDER])) {
188 2
            $this->gender = $response[self::GENDER];
189
        }
190 2
    }
191
192
    /**
193
     * @return null|bool
194
     */
195 1
    public function isPaymentEnabled()
196
    {
197 1
        return $this->paymentEnabled;
198
    }
199
200
    /**
201
     * @param array $response
202
     * @return void
203
     */
204 2
    private function setPaymentEnabled(array $response)
205
    {
206 2
        if (isset($response[self::IS_PAYMENT_ENABLED])) {
207 2
            $this->paymentEnabled = $response[self::IS_PAYMENT_ENABLED];
208
        }
209 2
    }
210
211
    /**
212
     * @return null|\Kerox\Messenger\Model\Referral
213
     */
214 1
    public function getLastAdReferral()
215
    {
216 1
        return $this->lastAdReferral;
217
    }
218
219
    /**
220
     * @param array $response
221
     * @return void
222
     */
223 2
    private function setLastAdReferral(array $response)
224
    {
225 2
        if (isset($response[self::LAST_AD_REFERRAL])) {
226 2
            $this->lastAdReferral = Referral::create($response[self::LAST_AD_REFERRAL]);
227
        }
228 2
    }
229
}
230