AbstractFlightInfo   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 56
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 0

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 3
lcom 1
cbo 0
dl 0
loc 56
ccs 13
cts 13
cp 1
rs 10
c 0
b 0
f 0

3 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 11 1
A toArray() 0 9 1
A jsonSerialize() 0 4 1
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 \Kerox\Messenger\Model\Message\Attachment\Template\Airline\Airport        $departureAirport
33
     * @param \Kerox\Messenger\Model\Message\Attachment\Template\Airline\Airport        $arrivalAirport
34
     * @param \Kerox\Messenger\Model\Message\Attachment\Template\Airline\FlightSchedule $flightSchedule
35
     */
36 10
    public function __construct(
37
        string $flightNumber,
38
        Airport $departureAirport,
39
        Airport $arrivalAirport,
40
        FlightSchedule $flightSchedule
41
    ) {
42 10
        $this->flightNumber = $flightNumber;
43 10
        $this->departureAirport = $departureAirport;
44 10
        $this->arrivalAirport = $arrivalAirport;
45 10
        $this->flightSchedule = $flightSchedule;
46 10
    }
47
48 4
    public function toArray(): array
49
    {
50
        return [
51 4
            'flight_number' => $this->flightNumber,
52 4
            'departure_airport' => $this->departureAirport,
53 4
            'arrival_airport' => $this->arrivalAirport,
54 4
            'flight_schedule' => $this->flightSchedule,
55
        ];
56
    }
57
58 5
    public function jsonSerialize(): array
59
    {
60 5
        return $this->toArray();
61
    }
62
}
63