class ActiveAdmin::Menu
def [](name)
def [](name) items.find{ |i| i.name == name } end
def add(*args, &block)
def add(*args, &block) @items << MenuItem.new(*args, &block) end
def find_by_url(url)
def find_by_url(url) recursive_find_by_url(items, url) end
def initialize
def initialize @items = [] yield(self) if block_given? end
def items
def items @items.sort end
def recursive_find_by_url(collection, url)
def recursive_find_by_url(collection, url) found = nil collection.each do |item| if item.url == url found = item break else found = recursive_find_by_url(item.children, url) break if found end end found end