require 'singleton' module AdminFu mattr_accessor :route_namespace #defaults @route_namespace = :admin_fu class Menu < Hash include Singleton class Entry < Hash attr_accessor :path def initialize(path) @path = path end def action(action, path) store(action, path) end end def entry(name, path = nil) store(name, Entry.new(path)) end end def self.menu(&block) if block_given? AdminFu::Menu.instance.instance_eval(&block) end AdminFu::Menu.instance end def self.clear_menu() AdminFu::Menu.instance.clear end end