MakeMenuItemChildOfRoot::handle()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 8
Code Lines 4

Duplication

Lines 0
Ratio 0 %
Metric Value
dl 0
loc 8
rs 9.4286
cc 2
eloc 4
nc 2
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