Class: Filtering::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/filtering/base.rb

Instance Method Summary collapse

Constructor Details

#initialize(params, args = {}) ⇒ Base

Returns a new instance of Base.



2
3
4
5
6
7
# File 'lib/filtering/base.rb', line 2

def initialize(params, args = {})
  @plain_params = permit(params, plain_acessible_params)
  @complex_params = permit(params, complex_acessible_params)
  @page = args[:page]
  @order = args[:order]
end

Instance Method Details

#callObject



9
10
11
12
13
14
15
16
17
18
19
# File 'lib/filtering/base.rb', line 9

def call
  @result = relation

  filter_by_plain_params unless plain_params.empty?
  filter_by_complex_params unless complex_params.empty?

  paginate if result.respond_to?(:page)
  ordering if order.present?

  return result
end