Passed
Push — master ( 19e97f...f6e67c )
by Dieter
07:06 queued 02:46
created

GetFareFamilyDescription   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 26
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 4

Importance

Changes 0
Metric Value
wmc 2
lcom 0
cbo 4
dl 0
loc 26
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 13 2
1
<?php
2
3
namespace Amadeus\Client\Struct\Fare;
4
5
use Amadeus\Client\RequestOptions\FareGetFareFamilyDescriptionOptions;
6
use Amadeus\Client\RequestOptions\Reference;
7
use Amadeus\Client\Struct\BaseWsMessage;
8
use Amadeus\Client\Struct\Fare\GetFareFamilyDescription\ReferenceDetails;
9
use Amadeus\Client\Struct\Fare\GetFareFamilyDescription\ReferenceInformation;
10
11
/**
12
 * Class GetFareFamilyDescription
13
 * @package Amadeus\Client\Struct\Fare
14
 */
15
class GetFareFamilyDescription extends BaseWsMessage
16
{
17
    /**
18
     * @var ReferenceInformation[]|array
19
     */
20
    public $referenceInformation;
21
22
    /**
23
     * GetFareFamilyDescription constructor.
24
     *
25
     * @param FareGetFareFamilyDescriptionOptions|null $options
26
     */
27
    public function __construct($options)
28
    {
29
        foreach ($options->referenceGroups as $referenceGroup) {
30
            $references = array_map(function (Reference $reference) {
31
                return new ReferenceDetails(
32
                    $reference->getType(),
33
                    $reference->getValue()
34
                );
35
            }, $referenceGroup->getReferences());
36
37
            $this->referenceInformation[] = new ReferenceInformation($references);
38
        }
39
    }
40
}
41