ApplyConfig::apply_config()   A
last analyzed

Complexity

Conditions 5
Paths 9

Size

Total Lines 10
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 6
CRAP Score 5.0729

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 5
eloc 6
c 1
b 0
f 0
nc 9
nop 2
dl 0
loc 10
ccs 6
cts 7
cp 0.8571
crap 5.0729
rs 9.6111
1
<?php
2
3
4
namespace databoxtech\multisocial;
5
6
use databoxtech\multisocial\exception\ConfigRequiredException;
7
8
trait ApplyConfig
9
{
10
11
    /**
12
     * @param array $config
13
     * @param array $required required configurations
14
     * @throws ConfigRequiredException
15
     */
16 2
    public function apply_config($config, $required = []){
17 2
        foreach ($config as $key => $value){
18 2
            if(property_exists($this, $key)){
19 2
                $this->{$key} = $value;
20
            }
21
        }
22
23 2
        foreach ($required as $conf){
24 2
            if(!isset($config[$conf])){
25
                throw new ConfigRequiredException($conf);
26
            }
27
        }
28
    }
29
}