class ActiveAdmin::Resource

Resource is the primary data storage for resource configuration in Active Admin

When you register a resource (ActiveAdmin.register Post) you are actually creating a new Resource instance within the given Namespace.

The instance of the current resource is available in ResourceController and views by calling the active_admin_config method.

Constants

RegisterEvent

Event dispatched when a new resource is registered

Attributes

breadcrumb[W]

Set breadcrumb builder

collection_actions[R]

An array of collection actions defined for this resource

csv_builder[W]

Set the configuration for the CSV

decorator_class_name[RW]

The string identifying a class to decorate our resource with for the view. nil to not decorate.

dsl[RW]

Store a reference to the DSL so that we can dereference it during garbage collection.

member_actions[R]

An array of member actions defined for this resource

namespace[R]

The namespace this config belongs to

resource_class_name[R]

The name of the resource class

sort_order[W]

The default sort order to use in the controller

Public Instance Methods

belongs_to(target, options = {}) click to toggle source
# File lib/active_admin/resource.rb, line 120
def belongs_to(target, options = {})
  @belongs_to = Resource::BelongsTo.new(self, target, options)
  self.navigation_menu_name = target unless @belongs_to.optional?
  controller.send :belongs_to, target, options.dup
end
belongs_to?() click to toggle source

Do we belong to another resource?

# File lib/active_admin/resource.rb, line 131
def belongs_to?
  !!belongs_to_config
end
belongs_to_config() click to toggle source
# File lib/active_admin/resource.rb, line 126
def belongs_to_config
  @belongs_to
end
breadcrumb() click to toggle source
clear_collection_actions!() click to toggle source
# File lib/active_admin/resource.rb, line 111
def clear_collection_actions!
  @collection_actions = []
end
clear_member_actions!() click to toggle source

Clears all the member actions this resource knows about

# File lib/active_admin/resource.rb, line 107
def clear_member_actions!
  @member_actions = []
end
csv_builder() click to toggle source

The csv builder for this resource

# File lib/active_admin/resource.rb, line 136
def csv_builder
  @csv_builder || default_csv_builder
end
decorator_class() click to toggle source
# File lib/active_admin/resource.rb, line 90
def decorator_class
  ActiveSupport::Dependencies.constantize(decorator_class_name) if decorator_class_name
end
defined_actions() click to toggle source

Return only defined resource actions

# File lib/active_admin/resource.rb, line 116
def defined_actions
  controller.instance_methods.map(&:to_sym) & ResourceController::ACTIVE_ADMIN_ACTIONS
end
find_resource(id) click to toggle source
# File lib/active_admin/resource.rb, line 144
def find_resource(id)
  resource = resource_class.where(resource_class.primary_key => id).first
  decorator_class ? decorator_class.new(resource) : resource
end
resource_class() click to toggle source

The class this resource wraps. If you register the Post model, Resource#resource_class will point to the Post class

# File lib/active_admin/resource.rb, line 86
def resource_class
  ActiveSupport::Dependencies.constantize(resource_class_name)
end
resource_column_names() click to toggle source
# File lib/active_admin/resource.rb, line 98
def resource_column_names
  resource_class.column_names
end
resource_quoted_column_name(column) click to toggle source
# File lib/active_admin/resource.rb, line 102
def resource_quoted_column_name(column)
  resource_class.connection.quote_column_name(column)
end
resource_table_name() click to toggle source
# File lib/active_admin/resource.rb, line 94
def resource_table_name
  resource_class.quoted_table_name
end
sort_order() click to toggle source
# File lib/active_admin/resource.rb, line 42
def sort_order
  @sort_order ||= (resource_class.respond_to?(:primary_key) ? resource_class.primary_key.to_s : 'id') + '_desc'
end

Private Instance Methods

default_csv_builder() click to toggle source
# File lib/active_admin/resource.rb, line 151
def default_csv_builder
  @default_csv_builder ||= CSVBuilder.default_for_resource(resource_class)
end