class ActiveAdmin::ResourceController::Decorators::Wrapper
def self.draper_collection_decorator
def self.draper_collection_decorator ::Draper::CollectionDecorator end
def self.draper_collection_decorator?(decorator)
def self.draper_collection_decorator?(decorator) decorator && decorator <= draper_collection_decorator rescue NameError false end
def self.find_collection_decorator(decorator)
Draper::CollectionDecorator was introduced in 1.0.0
def self.find_collection_decorator(decorator) if Dependency.draper? '>= 1.3.0' decorator.collection_decorator_class elsif Dependency.draper? '>= 1.0.0' draper_collection_decorator else decorator end end
def self.wrap(decorator)
def self.wrap(decorator) collection_decorator = find_collection_decorator(decorator) if draper_collection_decorator? collection_decorator name = "#{collection_decorator.name} of #{decorator} + ActiveAdmin" @cache[name] ||= wrap! collection_decorator, name else collection_decorator end end
def self.wrap!(parent, name)
def self.wrap!(parent, name) ::Class.new parent do delegate :reorder, :page, :current_page, :total_pages, :limit_value, :total_count, :total_pages, :offset, :to_key, :group_values, :except, :find_each, :ransack define_singleton_method(:name) { name } end end