Passed
Push — master ( c8e4bc...17399e )
by Jacobo
04:15
created

SignalPropertiesBuilder   A

Complexity

Total Complexity 5

Size/Duplication

Total Lines 17
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 8
c 1
b 0
f 0
dl 0
loc 17
rs 10
wmc 5

1 Method

Rating   Name   Duplication   Size   Complexity  
A build() 0 11 5
1
<?php
2
3
namespace SquareetLabs\LaravelOpenVidu\Builders;
4
5
use SquareetLabs\LaravelOpenVidu\Enums\MediaMode;
6
use SquareetLabs\LaravelOpenVidu\Enums\OutputMode;
7
use SquareetLabs\LaravelOpenVidu\Enums\RecordingLayout;
8
use SquareetLabs\LaravelOpenVidu\Enums\RecordingMode;
9
use SquareetLabs\LaravelOpenVidu\Exceptions\OpenViduInvalidArgumentException;
10
use SquareetLabs\LaravelOpenVidu\SessionProperties;
11
use SquareetLabs\LaravelOpenVidu\SignalProperties;
12
13
/**
14
 * Class SignalPropertiesBuilder
15
 * @package SquareetLabs\LaravelOpenVidu\Builders
16
 */
17
class SignalPropertiesBuilder implements BuilderInterface
18
{
19
    /**
20
     * @param  array  $properties
21
     * @return SignalProperties|null
22
     */
23
    public static function build(array $properties)
24
    {
25
        if (array_key_exists('session', $properties)) {
26
            return new SignalProperties(
27
                 $properties['session'],
28
                array_key_exists('data', $properties) ? $properties['data'] : null,
29
                array_key_exists('type', $properties) ? $properties['type'] : null,
30
                array_key_exists('to', $properties) ? $properties['to'] : null
31
            );
32
        }
33
        throw new OpenViduInvalidArgumentException('SignalPropertiesBuilder::build spects an array with session key');
34
    }
35
36
}
37