Module: PassionView::Filterable

Extended by:
ActiveSupport::Concern
Defined in:
lib/passion_view/filterable.rb

Defined Under Namespace

Modules: Controller Classes: FilterList

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#filtersObject (readonly)

Returns the value of attribute filters.



21
22
23
# File 'lib/passion_view/filterable.rb', line 21

def filters
  @filters
end

Instance Method Details

#filter_pathObject



17
18
19
# File 'lib/passion_view/filterable.rb', line 17

def filter_path
  url_options
end

#initialize(items, options = {}) ⇒ Object



4
5
6
7
8
9
# File 'lib/passion_view/filterable.rb', line 4

def initialize(items, options = {})
  super
  filters = filters_default.merge(options.delete(:filters) || {})

  filter_with(filters)
end

#itemsObject



11
12
13
14
15
# File 'lib/passion_view/filterable.rb', line 11

def items
  filters.reduce(super) do |items, filter|
    filter.skip? ? items : filter.apply(items)
  end
end