StatisticsRequest::method()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 2
CRAP Score 1

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 1
c 1
b 0
f 0
nc 1
nop 0
dl 0
loc 3
ccs 2
cts 2
cp 1
crap 1
rs 10
1
<?php
2
3
namespace Mediumart\Orange\SMS\Http\Requests;
4
5
use Mediumart\Orange\SMS\Http\SMSClientRequest;
6
7
class StatisticsRequest extends SMSClientRequest
8
{
9
    /**
10
     * International country code.
11
     *
12
     * @see http://fr.wikipedia.org/wiki/ISO_3166-1#Table_de_codage
13
     * @var string
14
     */
15
    protected $countryCode;
16
17
    /**
18
     * Api app ID.
19
     *
20
     * @var string
21
     */
22
    protected $appID;
23
24
    /**
25
     * SMSAdminStatsRequest constructor.
26
     *
27
     * @param $countryCode
28
     * @param $appID
29
     */
30 1
    public function __construct($countryCode = null, $appID = null)
31
    {
32 1
        $this->countryCode = $countryCode;
33 1
        $this->appID = $appID;
34 1
    }
35
36
    /**
37
     * @inherit
38
     *
39
     * @return string
40
     */
41 1
    public function method()
42
    {
43 1
        return 'GET';
44
    }
45
46
    /**
47
     * @inherit
48
     *
49
     * @return string
50
     */
51 1
    public function uri()
52
    {
53 1
        $filters = $this->queryFilters();
54
55 1
        $uri = static::BASE_URI . '/sms/admin/v1/statistics';
56
57 1
        return count($filters) ? $uri.'?'.http_build_query($filters) : $uri;
58
    }
59
60
    /**
61
     * @return array
62
     */
63 1
    private function queryFilters()
64
    {
65 1
        $filters = [];
66
67 1
        if ($this->countryCode) {
68
            $filters['country'] = $this->countryCode;
69
        }
70
71 1
        if ($this->appID) {
72
            $filters['appid'] = $this->appID;
73
        }
74
75 1
        return $filters;
76
    }
77
}
78