Sha256: 346de47ba498aa45783ec5f687a68383cefec2248a79ec5c391eb71e22edf03a
Contents?: true
Size: 825 Bytes
Versions: 13
Compression:
Stored size: 825 Bytes
Contents
# frozen_string_literal: true module Decidim module ParticipatoryProcesses # Service that encapsulates all logic related to filtering participatory processes. class ParticipatoryProcessSearch < ParticipatorySpaceSearch def initialize(options = {}) super(ParticipatoryProcess.all, options) end def search_date case date when "active" query.active.order(start_date: :desc) when "past" query.past.order(end_date: :desc) when "upcoming" query.upcoming.order(start_date: :asc) else # Assume 'all' timezone = ActiveSupport::TimeZone.find_tzinfo(Time.zone.name).identifier query.order(Arel.sql("ABS(start_date - (CURRENT_DATE at time zone '#{timezone}')::date)")) end end end end end
Version data entries
13 entries across 13 versions & 1 rubygems