lib/active_admin/menu.rb in activeadmin-2.6.1 vs lib/active_admin/menu.rb in activeadmin-2.7.0

- old
+ new

@@ -45,11 +45,14 @@ # menu = Menu.new # menu.add label: 'Dashboard' # menu.add parent: 'Dashboard', label: 'My Child Dashboard' # def add(options) - item = if parent = options.delete(:parent) + parent_chain = Array.wrap(options.delete(:parent)) + + item = if parent = parent_chain.shift + options[:parent] = parent_chain if parent_chain.any? (self[parent] || add(label: parent)).add options else _add options.merge parent: self end @@ -58,10 +61,10 @@ item end # Whether any children match the given item. def include?(item) - @children.values.include? item + @children.values.include?(item) || @children.values.any? { |child| child.include?(item) } end # Used in the UI to visually distinguish which menu item is selected. def current?(item) self == item || include?(item)