class ActiveScaffold::DataStructures::Filters
Attributes
default filter type for all filters in this set, can be :links or :select
Public Class Methods
Source
# File lib/active_scaffold/data_structures/filters.rb, line 5 def initialize @set = [] @default_type = self.class.default_type end
Public Instance Methods
Source
# File lib/active_scaffold/data_structures/filters.rb, line 27 def [](name) @set.find { |filter| filter.name.to_s == name.to_s } end
finds a Filter
by matching the name
Source
# File lib/active_scaffold/data_structures/filters.rb, line 11 def add(name, &block) if name.is_a?(ActiveScaffold::DataStructures::Filter) filter = name name = filter.name end existing = self[name] raise ArgumentError, "there is a filter with '#{name}' name" if existing filter ||= ActiveScaffold::DataStructures::Filter.new(name, default_type) @set << filter block&.call filter self end
adds a FilterOption
, creating one from the arguments if need be
Also aliased as: <<
Source
# File lib/active_scaffold/data_structures/filters.rb, line 31 def delete(name) @set.delete self[name] end
Source
# File lib/active_scaffold/data_structures/filters.rb, line 36 def each(&) @set.each(&) end
iterates over the links, possibly by type
Source
# File lib/active_scaffold/data_structures/filters.rb, line 40 def empty? @set.empty? end