Class: ActiveRecord::Base
- Inherits:
-
Object
- Object
- ActiveRecord::Base
- Defined in:
- lib/relata/filter.rb
Class Method Summary collapse
Class Method Details
.date_between(params) ⇒ Object
57 58 59 60 61 |
# File 'lib/relata/filter.rb', line 57 def self.date_between(params) relation = scoped relation = send("filter_by_date_between", params, relation) relation end |
.filtered_relation(params) ⇒ Object
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/relata/filter.rb', line 28 def self.filtered_relation(params) relation = scoped columns = self.columns.map do |c| c.name if [:string, :text].include? c.type end params.each do |facet, value| if self.reflect_on_association facet.to_sym relation = send("filter_by_has_many", facet, value, relation) elsif columns.include? facet.to_s relation = send("filter_by_exact", facet, value, relation) else relation = send("filter_by_#{facet}", value, relation) end end relation end |
.related_to(params) ⇒ Object
48 49 50 51 52 53 54 55 |
# File 'lib/relata/filter.rb', line 48 def self.(params) relation = scoped params.each do |facet, value| relation = send("filter_by_related", facet, value, relation) end relation end |