Completed
Push — master ( 8d0bd8...93d98b )
by Mike
06:19
created

ClassroomApi   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 32
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 2

Test Coverage

Coverage 100%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 3
c 1
b 0
f 0
lcom 1
cbo 2
dl 0
loc 32
ccs 14
cts 14
cp 1
rs 10

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 4 1
A create() 0 18 2
1
<?php
2
namespace mikemix\Wiziq\API;
3
4
use mikemix\Wiziq\API\Request;
5
use mikemix\Wiziq\Common\Api\ClassroomApiInterface;
6
use mikemix\Wiziq\Entity\Classroom;
7
8
class ClassroomApi implements ClassroomApiInterface
9
{
10
    /** @var Gateway */
11
    protected $gateway;
12
13 2
    public function __construct(Gateway $requester)
14
    {
15 2
        $this->gateway = $requester;
16 2
    }
17
18
    /**
19
     * {@inheritdoc}
20
     */
21 1
    public function create(Classroom $classroom)
22
    {
23 1
        $response = $this->gateway->sendRequest(new Request\Create($classroom));
24
25 1
        $presenters = [];
26 1
        foreach ($response->create[0]->class_details[0]->presenter_list[0] as $presenter) {
27 1
            $presenters[] = [
28 1
                'email' => (string)$presenter->presenter_email,
29 1
                'url'   => (string)$presenter->presenter_url,
30
            ];
31 1
        }
32
33
        return [
34 1
            'class_id'      => (int)$response->create[0]->class_details[0]->class_id,
35 1
            'recording_url' => (string)$response->create[0]->class_details[0]->recording_url,
36
            'presenters' => $presenters
37 1
        ];
38
    }
39
}
40