module ActiveAdmin::ResourceController::Decorators
Public Class Methods
Source
# File lib/active_admin/resource_controller/decorators.rb, line 20 def self.undecorate(resource) if resource.respond_to?(:decorated?) && resource.decorated? resource.model else resource end end
Protected Instance Methods
Source
# File lib/active_admin/resource_controller/decorators.rb, line 12 def apply_collection_decorator(collection) if decorate? collection_decorator.decorate collection, with: decorator_class else collection end end
Source
# File lib/active_admin/resource_controller/decorators.rb, line 8 def apply_decorator(resource) decorate? ? decorator_class.new(resource) : resource end
Private Instance Methods
Source
# File lib/active_admin/resource_controller/decorators.rb, line 46 def collection_decorator if decorator_class Wrapper.wrap decorator_class end end
When using Draper, we wrap the collection draper in a new class that correctly delegates methods that Active Admin depends on.
Source
# File lib/active_admin/resource_controller/decorators.rb, line 30 def decorate? case action_name when "new", "edit", "create", "update" form = active_admin_config.get_page_presenter :form form && form.options[:decorate] && decorator_class.present? else decorator_class.present? end end
Source
# File lib/active_admin/resource_controller/decorators.rb, line 40 def decorator_class active_admin_config.decorator_class end