Grameenphone   A
last analyzed

Complexity

Total Complexity 5

Size/Duplication

Total Lines 41
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 20
c 1
b 0
f 0
dl 0
loc 41
rs 10
wmc 5

4 Methods

Rating   Name   Duplication   Size   Complexity  
A getUsername() 0 3 1
A getValidationRules() 0 12 1
A mapParams() 0 11 2
A parseResponse() 0 5 1
1
<?php
2
3
namespace Sarahman\SmsService\Providers;
4
5
use Sarahman\SmsService\Response;
6
7
class Grameenphone extends BaseProvider
8
{
9
    public function getUsername()
10
    {
11
        return $this->config['username'];
12
    }
13
14
    public function mapParams($recipient, $message, array $params = [])
15
    {
16
        if (!preg_match($this->recipientPattern, $recipient, $matches)) {
17
            return [];
18
        }
19
20
        $recipient = '0'.$matches[3];
21
22
        return [
23
            'msisdn'  => $recipient,
24
            'message' => $message,
25
        ];
26
    }
27
28
    public function getValidationRules()
29
    {
30
        return [
31
            'username'    => 'required',
32
            'password'    => 'required',
33
            'apicode'     => 'required',
34
            'msisdn'      => 'required|regex:/^01[3456789]\d{8}$/',
35
            'countrycode' => 'required',
36
            'cli'         => 'required',
37
            'messagetype' => 'required|integer',
38
            'message'     => 'required',
39
            'messageid'   => 'required|integer',
40
        ];
41
    }
42
43
    public function parseResponse($response)
44
    {
45
        $parsedResponse = json_decode($response);
46
47
        return new Response(200 == $parsedResponse->statusCode, $response);
48
    }
49
}
50