module ActiveAdmin::Menu::MenuNode

def add(options)


menu.add parent: 'Dashboard', label: 'My Child Dashboard'
menu.add label: 'Dashboard'
menu = Menu.new
Example 2:

end
dash.add label: 'My Child Dashboard'
menu.add label: 'Dashboard' do |dash|
menu = Menu.new
Example 1:

as shown in the below examples. Both create an identical menu structure.
Recursively builds any given menu items. There are two syntaxes supported,
def add(options)
  options = options.dup # Make sure parameter is not modified
  item = if parent = options.delete(:parent)
           (self[parent] || add(label: parent)).add options
         else
           _add options.merge parent: self
         end
  yield(item) if block_given?
  item
end