Devise\Menus\MenusRepository::locateCurrentMenuItem PHP Method

locateCurrentMenuItem() private method

recursively traverses the menu items and their children finds the item that matches the current page, marks it as an 'activeItem' and marks it's parents as 'activeAncestor'
private locateCurrentMenuItem ( $pageId, $menuItems ) : boolean
$pageId
$menuItems
return boolean
    private function locateCurrentMenuItem($pageId, $menuItems)
    {
        foreach ($menuItems as $key => $menuItem) {
            $childrenLoaded = $this->childrenLoaded($menuItem);
            if ($childrenLoaded && $this->locateCurrentMenuItem($pageId, $menuItem->children)) {
                // the active item was found in the children
                $menuItem->activeAncestor = true;
                return true;
            }
            if ($menuItem->page_id == $pageId) {
                // this item is the active item
                $menuItem->activeItem = true;
                $this->activeItemChildren = $childrenLoaded ? $menuItem->children : array();
                $this->activeItemSiblings = $menuItems;
                return true;
            }
        }
        return false;
    }