Passed
Push — master ( 6b54e3...ae25c0 )
by Anton
01:55
created

OptionsTrait   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 26
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 6
dl 0
loc 26
rs 10
c 0
b 0
f 0
wmc 3

2 Methods

Rating   Name   Duplication   Size   Complexity  
A setOptions() 0 7 2
A getOptions() 0 3 1
1
<?php
2
declare(strict_types=1);
3
/**
4
 * Spiral Framework.
5
 *
6
 * @license   MIT
7
 * @author    Anton Titov (Wolfy-J)
8
 */
9
10
namespace Cycle\Schema\Definition\Traits;
11
12
use Cycle\Schema\Definition\Map\OptionMap;
13
use Cycle\Schema\Exception\OptionException;
14
15
trait OptionsTrait
16
{
17
    /** @var OptionMap */
18
    private $options;
19
20
    /**
21
     * @return OptionMap
22
     */
23
    public function getOptions(): OptionMap
24
    {
25
        return $this->options;
26
    }
27
28
    /**
29
     * @param array $options
30
     * @return OptionsTrait
31
     *
32
     * @throws OptionException
33
     */
34
    public function setOptions(array $options): self
35
    {
36
        foreach ($options as $name => $option) {
37
            $this->options->set($name, $option);
38
        }
39
40
        return $this;
41
    }
42
}