Completed
Pull Request — master (#248)
by
unknown
32:06
created

OptionDetail::__construct()   A

Complexity

Conditions 6
Paths 6

Size

Total Lines 16

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 13
CRAP Score 6.0131

Importance

Changes 0
Metric Value
dl 0
loc 16
ccs 13
cts 14
cp 0.9286
rs 9.1111
c 0
b 0
f 0
cc 6
nc 6
nop 1
crap 6.0131
1
<?php
2
/**
3
 * amadeus-ws-client
4
 *
5
 * Copyright 2015 Amadeus Benelux NV
6
 *
7
 * Licensed under the Apache License, Version 2.0 (the "License");
8
 * you may not use this file except in compliance with the License.
9
 * You may obtain a copy of the License at
10
 *
11
 * http://www.apache.org/licenses/LICENSE-2.0
12
 *
13
 * Unless required by applicable law or agreed to in writing, software
14
 * distributed under the License is distributed on an "AS IS" BASIS,
15
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
 * See the License for the specific language governing permissions and
17
 * limitations under the License.
18
 *
19
 * @package Amadeus
20
 * @license https://opensource.org/licenses/Apache-2.0 Apache 2.0
21
 */
22
23
namespace Amadeus\Client\Struct\Fare\PricePnr13;
24
25
/**
26
 * OptionDetail
27
 *
28
 * @package Amadeus\Client\Struct\Fare\PricePnr13
29
 * @author  Dieter Devlieghere <[email protected]>
30
 */
31
class OptionDetail
32
{
33
    /**
34
     * @var CriteriaDetails[]
35
     */
36
    public $criteriaDetails = [];
37
38
    /**
39
     * OptionDetail constructor.
40
     *
41
     * @param string|array|null $options
42
     */
43 80
    public function __construct($options = null)
44
    {
45 80
        if ($options instanceof CriteriaDetails) {
46
            $this->criteriaDetails[] = $options;
47 80
        } elseif (is_string($options)) {
48 64
            $this->criteriaDetails[] = new CriteriaDetails($options);
49 58
        } elseif (is_array($options)) {
50 16
            foreach ($options as $option) {
51 16
                if ($option instanceof CriteriaDetails) {
52 4
                    $this->criteriaDetails[] = $option;
53 2
                } else {
54 14
                    $this->criteriaDetails[] = new CriteriaDetails($option);
55
                }
56 8
            }
57 8
        }
58 80
    }
59
}
60