MakeMenuItemChildOfRoot::isRoot()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 2
Bugs 1 Features 0
Metric Value
c 2
b 1
f 0
dl 0
loc 4
rs 10
cc 1
eloc 2
nc 1
nop 1
1
<?php namespace Modules\Menu\Events\Handlers;
2
3
use Modules\Menu\Events\MenuItemWasCreated;
4
use Modules\Menu\Repositories\MenuItemRepository;
5
6
class MakeMenuItemChildOfRoot
7
{
8
    /**
9
     * @var MenuItemRepository
10
     */
11
    private $menuItem;
12
13
    public function __construct(MenuItemRepository $menuItem)
14
    {
15
        $this->menuItem = $menuItem;
16
    }
17
18
    public function handle(MenuItemWasCreated $event)
19
    {
20
        $root = $this->menuItem->getRootForMenu($event->menuItem->menu_id);
21
22
        if (! $this->isRoot($event->menuItem)) {
23
            $event->menuItem->makeChildOf($root);
24
        }
25
    }
26
27
    /**
28
     * Check if the given menu item is not already a root menu item
29
     * @param  object $menuItem
30
     * @return bool
31
     */
32
    private function isRoot($menuItem)
33
    {
34
        return (bool) $menuItem->is_root;
35
    }
36
}
37