This release includes some updates in the Style/RedundantParentheses and Naming/PredicateMethod rules. We're changing the code accordingly. Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.76.1 to 1.81.1. - [Release notes](https://github.com/rubocop/rubocop/releases) - [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md) - [Commits](https://github.com/rubocop/rubocop/compare/v1.76.1...v1.81.1) --- updated-dependencies: - dependency-name: rubocop dependency-version: 1.81.1 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
58 lines
1.4 KiB
Ruby
58 lines
1.4 KiB
Ruby
module Search
|
|
extend ActiveSupport::Concern
|
|
|
|
included do
|
|
before_action :parse_search_terms, only: [:index, :suggest]
|
|
before_action :parse_advanced_search_terms, only: :index
|
|
before_action :set_search_order, only: :index
|
|
end
|
|
|
|
def parse_search_terms
|
|
@search_terms = params[:search] if params[:search].present?
|
|
end
|
|
|
|
def parse_advanced_search_terms
|
|
@advanced_search_terms = params[:advanced_search] if params[:advanced_search].present?
|
|
parse_search_date
|
|
end
|
|
|
|
def parse_search_date
|
|
return unless search_by_date?
|
|
|
|
params[:advanced_search][:date_range] = search_date_range
|
|
end
|
|
|
|
def search_by_date?
|
|
params[:advanced_search] && params[:advanced_search][:date_min].present?
|
|
end
|
|
|
|
def search_start_date
|
|
case params[:advanced_search][:date_min]
|
|
when "1"
|
|
24.hours.ago
|
|
when "2"
|
|
1.week.ago
|
|
when "3"
|
|
1.month.ago
|
|
when "4"
|
|
1.year.ago
|
|
else
|
|
Date.parse(params[:advanced_search][:date_min]) rescue 100.years.ago
|
|
end
|
|
end
|
|
|
|
def search_finish_date
|
|
params[:advanced_search][:date_max].to_date rescue Date.current || Date.current
|
|
end
|
|
|
|
def search_date_range
|
|
[100.years.ago, search_start_date].max.beginning_of_day..[search_finish_date, Date.current].min.end_of_day
|
|
end
|
|
|
|
def set_search_order
|
|
if params[:search].present? && params[:order].blank?
|
|
params[:order] = "relevance"
|
|
end
|
|
end
|
|
end
|