moduleActiveAdmin# This is the class where all the register blocks are instance eval'dclassResourceDSL<DSLprivatedefbelongs_to(target,options={})config.belongs_to(target,options)end# Scope collection to a relationdefscope_to(*args,&block)config.scope_to(*args,&block)end# Create a scopedefscope(*args,&block)config.scope(*args,&block)end# Configure the index page for the resourcedefindex(options={},&block)options[:as]||=:tableconfig.set_page_presenter:index,ActiveAdmin::PagePresenter.new(options,&block)end# Configure the show page for the resourcedefshow(options={},&block)config.set_page_presenter:show,ActiveAdmin::PagePresenter.new(options,&block)enddefform(options={},&block)config.set_page_presenter:form,ActiveAdmin::PagePresenter.new(options,&block)end# Configure the CSV format## For example:## csv do# column :name# column("Author") { |post| post.author.full_name }# end## csv :col_sep => ";", :force_quotes => true do# column :name# end#defcsv(options={},&block)config.csv_builder=CSVBuilder.new(options,&block)end# Member Actions give you the functionality of defining both the# action and the route directly from your ActiveAdmin registration# block.## For example:## ActiveAdmin.register Post do# member_action :comments do# @post = Post.find(params[:id]# @comments = @post.comments# end# end## Will create a new controller action comments and will hook it up to# the named route (comments_admin_post_path) /admin/posts/:id/comments## You can treat everything within the block as a standard Rails controller# action.#defaction(set,name,options={},&block)set<<ControllerAction.new(name,options)title=options.delete(:title)controllerdobefore_filter(:only=>[name]){@page_title=title}iftitledefine_method(name,&block||Proc.new{})endenddefmember_action(name,options={},&block)actionconfig.member_actions,name,options,&blockenddefcollection_action(name,options={},&block)actionconfig.collection_actions,name,options,&blockend# Defined Callbacks## == After Build# Called after the resource is built in the new and create actions.## ActiveAdmin.register Post do# after_build do |post|# post.author = current_user# end# end## == Before / After Create# Called before and after a resource is saved to the db on the create action.## == Before / After Update# Called before and after a resource is saved to the db on the update action.## == Before / After Save# Called before and after the object is saved in the create and update action.# Note: Gets called after the create and update callbacks## == Before / After Destroy# Called before and after the object is destroyed from the database.#delegate:before_build,:after_build,:to=>:controllerdelegate:before_create,:after_create,:to=>:controllerdelegate:before_update,:after_update,:to=>:controllerdelegate:before_save,:after_save,:to=>:controllerdelegate:before_destroy,:after_destroy,:to=>:controller# Standard rails filtersdelegate:before_filter,:skip_before_filter,:after_filter,:around_filter,:skip_filter,:to=>:controller# Specify which actions to create in the controller## Eg:## ActiveAdmin.register Post do# actions :index, :show# end## Will only create the index and show actions (no create, update or delete)delegate:actions,:to=>:controllerendend