Completed
Push — master ( eb575e...c103e9 )
by Romain
13s
created

AbstractFlightInfo::toArray()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 7
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 7
rs 9.4285
c 0
b 0
f 0
cc 1
eloc 5
nc 1
nop 0
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Kerox\Messenger\Model\Message\Attachment\Template\Airline;
6
7
abstract class AbstractFlightInfo implements \JsonSerializable
8
{
9
    /**
10
     * @var string
11
     */
12
    protected $flightNumber;
13
14
    /**
15
     * @var Airport
16
     */
17
    protected $departureAirport;
18
19
    /**
20
     * @var Airport
21
     */
22
    protected $arrivalAirport;
23
24
    /**
25
     * @var FlightSchedule
26
     */
27
    protected $flightSchedule;
28
29
    /**
30
     * AbstractFlightInfo constructor.
31
     *
32
     * @param string                                                                    $flightNumber
33
     * @param \Kerox\Messenger\Model\Message\Attachment\Template\Airline\Airport        $departureAirport
34
     * @param \Kerox\Messenger\Model\Message\Attachment\Template\Airline\Airport        $arrivalAirport
35
     * @param \Kerox\Messenger\Model\Message\Attachment\Template\Airline\FlightSchedule $flightSchedule
36
     */
37
    public function __construct(
38
        string $flightNumber,
39
        Airport $departureAirport,
40
        Airport $arrivalAirport,
41
        FlightSchedule $flightSchedule
42
    ) {
43
        $this->flightNumber = $flightNumber;
44
        $this->departureAirport = $departureAirport;
45
        $this->arrivalAirport = $arrivalAirport;
46
        $this->flightSchedule = $flightSchedule;
47
    }
48
49
    /**
50
     * @return array
51
     */
52
    public function toArray(): array
53
    {
54
        return [
55
            'flight_number'     => $this->flightNumber,
56
            'departure_airport' => $this->departureAirport,
57
            'arrival_airport'   => $this->arrivalAirport,
58
            'flight_schedule'   => $this->flightSchedule,
59
        ];
60
    }
61
62
    /**
63
     * @return array
64
     */
65
    public function jsonSerialize(): array
66
    {
67
        return $this->toArray();
68
    }
69
}
70