Class: ContextFilters::PriorityFilters
- Inherits:
-
Object
- Object
- ContextFilters::PriorityFilters
- Defined in:
- lib/context-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
filtersordered 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
filterssorted bypriorities.
Constructor Details
#initialize(priorities = nil) ⇒ PriorityFilters
initializes priorities and coresponding list of filters
17 18 19 20 |
# File 'lib/context-filters/priority_filters.rb', line 17 def initialize(priorities = nil) @priorities = [priorities].flatten.freeze @filters_array = @priorities.product([ContextFilters::Filters.new]) end |
Instance Attribute Details
#priorities ⇒ Array (readonly)
Returns list of priorities this object was initialized with.
13 14 15 |
# File 'lib/context-filters/priority_filters.rb', line 13 def priorities @priorities end |
Instance Method Details
#each {|priority, filters| ... } ⇒ Object
iterate over filters ordered by priority
43 44 45 |
# File 'lib/context-filters/priority_filters.rb', line 43 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
49 50 51 |
# File 'lib/context-filters/priority_filters.rb', line 49 def empty? @filters_array.map(&:last).all?(&:empty?) end |
#store(priority, options = nil, &block) ⇒ Object
adds a priority filter
28 29 30 31 32 |
# File 'lib/context-filters/priority_filters.rb', line 28 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
35 36 37 |
# File 'lib/context-filters/priority_filters.rb', line 35 def to_a @filters_array end |