Is it one of those kind of menus that disappears when you aren't hovering over one of the menu items? Hate those things. If not, repeated find_element() calls should do the trick.
Example (supposing you have a Selenium::Remote::Driver object already called $driver):
$driver->find_element('menu_summoner','id')->click();
$driver->find_element('menu_level_one_button','id')->click();
...
$driver->find_element('menu_level_n_button,'id')->click();
Now if you have to keep hovered, that can be quite difficult, as some driver backends would move the cursor back to center after every action.
This was what actionChains were made to fix, but those are only really available and useful on firefox and the newest geckodriver, so I wouldn't bet the farm on them.
If the element is present in the DOM but just hidden, you can work out a selector to find the menu's final element you want, and then extract the link (or action) from it and either $driver->get() it or use $driver->execute_script('args[0]->click()',$element); to click it regardless of the fact it's not displayed.
On the other hand if your developers were wasteful and create/teardown the DOM nodes on the fly, you are probably screwed. You'll have to figure out a special workaround to get the effect from the desired action.