Module: ActiveAdmin::Filters::ResourceExtension
- Defined in:
- lib/active_admin/filters/resource_extension.rb
Instance Method Summary collapse
-
#add_filter(attribute, options = {}) ⇒ Object
Add a filter for this resource.
-
#filters ⇒ Array
Returns the filters for this resource.
-
#filters=(bool) ⇒ Object
Setter to enable / disable filters on this resource.
-
#filters_enabled? ⇒ Boolean
If filters are enabled for this resource.
- #initialize ⇒ Object
- #preserve_default_filters! ⇒ Object
- #preserve_default_filters? ⇒ Boolean
-
#remove_filter(attribute) ⇒ Object
Remove a filter for this resource.
-
#reset_filters! ⇒ Object
Reset the filters to use defaults.
Instance Method Details
#add_filter(attribute, options = {}) ⇒ Object
Add a filter for this resource. If filters are not enabled, this method will raise a RuntimeError
69 70 71 72 73 74 75 76 77 |
# File 'lib/active_admin/filters/resource_extension.rb', line 69 def add_filter(attribute, = {}) unless filters_enabled? raise RuntimeError, "Can't add a filter when filters are disabled. Enable filters with 'config.filters = true'" end @filters ||= [] @filters << .merge({ :attribute => attribute }) end |
#filters ⇒ Array
Returns the filters for this resource. If filters are not enabled, it will always return an empty array.
15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/active_admin/filters/resource_extension.rb', line 15 def filters return [] unless filters_enabled? if @filters.present? if preserve_default_filters? @filters + default_filters else @filters end else default_filters end end |
#filters=(bool) ⇒ Object
Setter to enable / disable filters on this resource.
Set to ‘nil` to inherit the setting from the namespace
32 33 34 |
# File 'lib/active_admin/filters/resource_extension.rb', line 32 def filters=(bool) @filters_enabled = bool end |
#filters_enabled? ⇒ Boolean
Returns If filters are enabled for this resource.
37 38 39 |
# File 'lib/active_admin/filters/resource_extension.rb', line 37 def filters_enabled? @filters_enabled.nil? ? namespace.filters : @filters_enabled end |
#initialize ⇒ Object
6 7 8 9 |
# File 'lib/active_admin/filters/resource_extension.rb', line 6 def initialize(*) super end |
#preserve_default_filters! ⇒ Object
41 42 43 |
# File 'lib/active_admin/filters/resource_extension.rb', line 41 def preserve_default_filters! @preserve_default_filters = true end |
#preserve_default_filters? ⇒ Boolean
45 46 47 |
# File 'lib/active_admin/filters/resource_extension.rb', line 45 def preserve_default_filters? @preserve_default_filters == true end |
#remove_filter(attribute) ⇒ Object
Remove a filter for this resource. If filters are not enabled, this method will raise a RuntimeError
53 54 55 56 57 58 59 60 61 |
# File 'lib/active_admin/filters/resource_extension.rb', line 53 def remove_filter(attribute) unless filters_enabled? raise RuntimeError, "Can't remove a filter when filters are disabled. Enable filters with 'config.filters = true'" end @filters ||= default_filters @filters.delete_if { |f| f.fetch(:attribute) == attribute } end |
#reset_filters! ⇒ Object
Reset the filters to use defaults
80 81 82 |
# File 'lib/active_admin/filters/resource_extension.rb', line 80 def reset_filters! @filters = nil end |