Class: Collavre::Creatives::Filters::ProgressFilter
- Inherits:
-
BaseFilter
- Object
- BaseFilter
- Collavre::Creatives::Filters::ProgressFilter
show all
- Defined in:
- app/services/collavre/creatives/filters/progress_filter.rb
Instance Method Summary
collapse
Methods inherited from BaseFilter
#initialize
Instance Method Details
#active? ⇒ Boolean
5
6
7
|
# File 'app/services/collavre/creatives/filters/progress_filter.rb', line 5
def active?
params[:min_progress].present? || params[:max_progress].present?
end
|
#match ⇒ Object
9
10
11
12
13
14
15
16
17
18
19
20
21
|
# File 'app/services/collavre/creatives/filters/progress_filter.rb', line 9
def match
min_val = params[:min_progress].presence&.to_f
max_val = params[:max_progress].presence&.to_f
query = scope
.joins("LEFT JOIN creatives origins ON creatives.origin_id = origins.id")
effective_progress = "COALESCE(origins.progress, creatives.progress)"
query = query.where("#{effective_progress} >= ?", min_val) if min_val
query = query.where("#{effective_progress} <= ?", max_val) if max_val
query.pluck("creatives.id")
end
|