class ActiveAdmin::Router

def apply(router)


end
ActiveAdmin.routes(self)
Application.routes.draw do |map|

Use this within the routes.rb file:

Creates all the necessary routes for the ActiveAdmin configurations
def apply(router)
  define_root_routes router
  define_resource_routes router
end

def define_resource_routes(router)

Defines the routes for each resource
def define_resource_routes(router)
  router.instance_exec @application.namespaces, self do |namespaces, aa_router|
    resources = namespaces.values.map{ |n| n.resources.values }.flatten
    resources.each do |config|
      routes = aa_router.resource_routes(config)
      # Add in the parent if it exists
      if config.belongs_to?
        belongs_to = routes
        routes     = Proc.new do
          # If it's optional, make the normal resource routes
          instance_exec &belongs_to if config.belongs_to_config.optional?
          # Make the nested belongs_to routes
          # :only is set to nothing so that we don't clobber any existing routes on the resource
          resources config.belongs_to_config.target.resource_name.plural, :only => [] do
            instance_exec &belongs_to
          end
        end
      end
      # Add on the namespace if required
      unless config.namespace.root?
        nested = routes
        routes = Proc.new do
          namespace config.namespace.name do
            instance_exec &nested
          end
        end
      end
      instance_exec &routes
    end
  end
end

def define_root_routes(router)

def define_root_routes(router)
  router.instance_exec @application.namespaces.values do |namespaces|
    namespaces.each do |namespace|
      if namespace.root?
        root :to => namespace.root_to
      else
        namespace namespace.name do
          root :to => namespace.root_to
        end
      end
    end
  end
end

def initialize(application)

def initialize(application)
  @application = application
end

def resource_routes(config)

def resource_routes(config)
  Proc.new do
    # Builds one route for each HTTP verb passed in
    build_route  = proc{ |verbs, *args|
      [*verbs].each{ |verb| send verb, *args }
    }
    # Deals with +ControllerAction+ instances
    build_action = proc{ |action|
      build_route.call(action.http_verb, action.name)
    }
    case config
    when ::ActiveAdmin::Resource
      resources config.resource_name.route_key, :only => config.defined_actions do
        member do
          config.member_actions.each &build_action
        end
        collection do
          config.collection_actions.each &build_action
          post :batch_action
        end
      end
    when ::ActiveAdmin::Page
      page = config.underscored_resource_name
      get "/#{page}" => "#{page}#index"
      config.page_actions.each do |action|
        build_route.call action.http_verb, "/#{page}/#{action.name}" => "#{page}##{action.name}"
      end
    else
      raise "Unsupported config class: #{config.class}"
    end
  end
end