Completed
Push — master ( 1f1d6f...d17677 )
by De Cramer
9s
created

WindowFactory   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 24
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 4

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
wmc 2
lcom 1
cbo 4
dl 0
loc 24
c 0
b 0
f 0
rs 10
ccs 0
cts 16
cp 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A createManialink() 0 14 1
A closeManialink() 0 6 1
1
<?php
2
3
namespace eXpansion\Core\Plugins\Gui;
4
use eXpansion\Core\Model\Gui\Manialink;
5
use eXpansion\Core\Model\Gui\Window;
6
use eXpansion\Core\Model\UserGroups\Group;
7
8
/**
9
 * Class ManialiveFactory allow the creation of manialinks.
10
 *
11
 * @package eXpansion\Core\Plugins\Gui
12
 * @author Oliver de Cramer
13
 */
14
class WindowFactory extends ManialinkFactory {
15
16
    protected function createManialink(Group $group)
17
    {
18
        /** @var Window $manialink */
19
        $manialink = parent::createManialink($group);
20
        $actionId = $this->actionFactory->createManialinkAction(
21
            $manialink,
22
            [$this, 'closeManialink'],
23
            ['manialink' => $manialink]
24
        );
25
26
        $manialink->setCloseAction($actionId);
27
28
        return $manialink;
29
    }
30
31
    public function closeManialink($login, $answerValues, $arguments)
32
    {
33
        /** @var Manialink $manialink */
34
        $manialink = $arguments['manialink'];
35
        $this->destroy($manialink->getUserGroup());
36
    }
37
}
38