Completed
Push — master ( e45dbf...3a73d5 )
by Nate
05:43 queued 04:08
created

ProviderEnvironment   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 67
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 3

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
wmc 3
lcom 0
cbo 3
dl 0
loc 67
ccs 0
cts 45
cp 0
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A rules() 0 31 1
A getProvider() 0 16 2
1
<?php
2
3
/**
4
 * @copyright  Copyright (c) Flipbox Digital Limited
5
 * @license    https://flipboxfactory.com/software/patron/license
6
 * @link       https://www.flipboxfactory.com/software/patron/
7
 */
8
9
namespace flipbox\patron\records;
10
11
use flipbox\ember\helpers\ModelHelper;
12
use flipbox\ember\helpers\QueryHelper;
13
use flipbox\ember\records\ActiveRecord;
14
use yii\db\ActiveQueryInterface;
15
16
/**
17
 * @author Flipbox Factory <[email protected]>
18
 * @since 1.0.0
19
 *
20
 * @property int $providerId
21
 * @property string $environment
22
 */
23
class ProviderEnvironment extends ActiveRecord
24
{
25
    use traits\EnvironmentAttribute;
26
27
    /**
28
     * The table alias
29
     */
30
    const TABLE_ALIAS = 'patron_provider_environments';
31
32
    /**
33
     * @inheritdoc
34
     */
35
    public function rules()
36
    {
37
        return array_merge(
38
            parent::rules(),
39
            $this->environmentRules(),
40
            [
41
                [
42
                    [
43
                        'providerId'
44
                    ],
45
                    'number',
46
                    'integerOnly' => true
47
                ],
48
                [
49
                    [
50
                        'providerId'
51
                    ],
52
                    'required'
53
                ],
54
                [
55
                    [
56
                        'providerId'
57
                    ],
58
                    'safe',
59
                    'on' => [
60
                        ModelHelper::SCENARIO_DEFAULT
61
                    ]
62
                ]
63
            ]
64
        );
65
    }
66
67
    /**
68
     * Get the associated provider
69
     *
70
     * @param array $config
71
     * @return ActiveQueryInterface
72
     */
73
    public function getProvider(array $config = [])
74
    {
75
        $query = $this->hasOne(
76
            Provider::class,
77
            ['providerId' => 'id']
78
        );
79
80
        if (!empty($config)) {
81
            QueryHelper::configure(
82
                $query,
83
                $config
84
            );
85
        }
86
87
        return $query;
88
    }
89
}
90