Completed
Pull Request — master (#249)
by David
10:15
created

CreateResponse::create()   A

Complexity

Conditions 3
Paths 4

Size

Total Lines 7
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 7
rs 9.4285
c 0
b 0
f 0
cc 3
eloc 4
nc 4
nop 1
1
<?php
2
3
/*
4
 * Copyright (C) 2013-2016 Mailgun
5
 *
6
 * This software may be modified and distributed under the terms
7
 * of the MIT license. See the LICENSE file for details.
8
 */
9
10
namespace Mailgun\Resource\Api\Routes\Response;
11
12
use Mailgun\Resource\Api\Routes\Dto\RouteDto;
13
use Mailgun\Resource\ApiResponse;
14
15
/**
16
 * @author David Garcia <[email protected]>
17
 */
18
final class CreateResponse implements ApiResponse
19
{
20
    /**
21
     * @var string
22
     */
23
    private $message;
24
25
    /**
26
     * @var RouteDto
27
     */
28
    private $route;
29
30
    /**
31
     * {@inheritdoc}
32
     */
33
    public static function create(array $data)
34
    {
35
        $message = isset($data['message']) ? $data['message'] : null;
36
        $route = isset($data['route']) ? RouteDto::create($data['route']) : null;
37
38
        return new self($message, $route);
39
    }
40
41
    /**
42
     * CreateResponse Private Constructor.
43
     *
44
     * @param string|null   $message
45
     * @param RouteDto|null $route
46
     */
47
    private function __construct($message = null, RouteDto $route = null)
48
    {
49
        $this->message = $message;
50
        $this->route = $route;
51
    }
52
53
    /**
54
     * @return string
55
     */
56
    public function getMessage()
57
    {
58
        return $this->message;
59
    }
60
61
    /**
62
     * @return RouteDto
63
     */
64
    public function getRoute()
65
    {
66
        return $this->route;
67
    }
68
}
69