Class: ContextFilters::Filters::PriorityFilters
- Inherits:
-
Object
- Object
- ContextFilters::Filters::PriorityFilters
- Defined in:
- lib/context-filters/filters/priority_filters.rb
Overview
list of filters
sorted by priorities
Instance Attribute Summary collapse
-
#priorities ⇒ Array
readonly
List of priorities this object was initialized with.
Instance Method Summary collapse
-
#each {|priority, filters| ... } ⇒ Object
iterate over
filters
ordered bypriority
. -
#empty? ⇒ Boolean
check if all of the filters are empty return [Bolean] true if all filters are empty.
-
#initialize(priorities = nil) ⇒ PriorityFilters
constructor
initializes priorities and coresponding list of filters.
-
#store(priority, options = nil, &block) ⇒ Object
adds a priority filter.
-
#to_a ⇒ Object
list of
filters
sorted bypriorities
.
Constructor Details
#initialize(priorities = nil) ⇒ PriorityFilters
initializes priorities and coresponding list of filters
19 20 21 22 |
# File 'lib/context-filters/filters/priority_filters.rb', line 19 def initialize(priorities = nil) @priorities = [priorities].flatten.freeze @filters_array = @priorities.product([Filters.new]) end |
Instance Attribute Details
#priorities ⇒ Array (readonly)
Returns list of priorities this object was initialized with.
15 16 17 |
# File 'lib/context-filters/filters/priority_filters.rb', line 15 def priorities @priorities end |
Instance Method Details
#each {|priority, filters| ... } ⇒ Object
iterate over filters
ordered by priority
45 46 47 |
# File 'lib/context-filters/filters/priority_filters.rb', line 45 def each(&block) to_a.each(&block) unless empty? end |
#empty? ⇒ Boolean
check if all of the filters are empty return [Bolean] true if all filters are empty
51 52 53 |
# File 'lib/context-filters/filters/priority_filters.rb', line 51 def empty? @filters_array.map(&:last).all?(&:empty?) end |
#store(priority, options = nil, &block) ⇒ Object
adds a priority filter
30 31 32 33 34 |
# File 'lib/context-filters/filters/priority_filters.rb', line 30 def store(priority, = nil, &block) found = @filters_array.assoc(priority) raise KeyError if found.nil? found.last.store(, &block) end |
#to_a ⇒ Object
list of filters
sorted by priorities
37 38 39 |
# File 'lib/context-filters/filters/priority_filters.rb', line 37 def to_a @filters_array end |