Module: Filterable::ClassMethods

Defined in:
lib/filterable.rb

Instance Method Summary collapse

Instance Method Details

#filter(params) ⇒ ActiveRecord::Relation

Iterates over params hash and applies non-empty values as filters

Parameters:

  • params (Hash)

    filters list

Returns:

  • (ActiveRecord::Relation)

    filtered list



13
14
15
16
17
18
19
# File 'lib/filterable.rb', line 13

def filter(params)
  results = where(nil)
  params.each do |key, value|
    results = results.public_send(key, value) if value.present?
  end
  results
end