Sha256: 20ff88c7c381cae8f29594c64354f0ffa74dd76fa0d1c63c7ade2fd2b959b7ea
Contents?: true
Size: 1.45 KB
Versions: 9
Compression:
Stored size: 1.45 KB
Contents
module ActiveAdmin class ResourceController < ::InheritedResources::Base module Filters extend ActiveSupport::Concern included do helper_method :filters_config end module ClassMethods def filter(attribute, options = {}) return false if attribute.nil? @filters ||= [] @filters << options.merge(:attribute => attribute) end def filters_config @filters && @filters.any? ? @filters : default_filters_config end def reset_filters! @filters = [] end # Returns a sane set of filters by default for the object def default_filters_config default_association_filters + default_content_filters end # Returns a default set of filters for the associations def default_association_filters if resource_class.respond_to?(:reflections) resource_class.reflections.collect{|name, r| { :attribute => name }} else [] end end # Returns a default set of filters for the content columns def default_content_filters if resource_class.respond_to?(:content_columns) resource_class.content_columns.collect{|c| { :attribute => c.name.to_sym } } else [] end end end protected def filters_config self.class.filters_config end end end end
Version data entries
9 entries across 9 versions & 4 rubygems