require "rubygems" require "authlogic" module Admin class << self def version @@version ||= File.read("#{root}/VERSION").strip end def root File.dirname(__FILE__) + '/..' end def tabs @@tabs ||= [] end def add_tab(options = {}) name = options.delete(:name) path = options.delete(:path) req_admin = options.delete(:admin_required) tabs << Admin::Tab.new(name,path,req_admin) end end class Tab attr_accessor :name, :path, :admin_required def initialize(str_name,str_path,bool_admin_required) @name = str_name.to_s @path = str_path.to_s @admin_required = bool_admin_required ? true : false end def display_for?(moderator) admin_required ? moderator.admin? : true end end end Admin.add_tab :name => "Dashboard", :path => "/admin/dashboard" Admin.add_tab :name => "Moderators", :path => "/admin/moderators", :admin_required => true