From 2ffc7230f80728e13143a558e7c4861dc52b74c2 Mon Sep 17 00:00:00 2001 From: baarkerlounger Date: Mon, 11 Apr 2022 18:47:09 +0100 Subject: [PATCH] Rubocop --- app/controllers/case_logs_controller.rb | 2 +- app/models/case_log.rb | 8 ++++---- spec/models/case_log_spec.rb | 10 +++++----- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/app/controllers/case_logs_controller.rb b/app/controllers/case_logs_controller.rb index 5b9bc5eb5..2402ebe15 100644 --- a/app/controllers/case_logs_controller.rb +++ b/app/controllers/case_logs_controller.rb @@ -125,7 +125,7 @@ private if session[:case_logs_filters].present? filters = JSON.parse(session[:case_logs_filters]) filters.each do |category, values| - next unless values.reject(&:empty?).present? + next if values.reject(&:empty?).blank? query = query.public_send("filter_by_#{category}", values) end diff --git a/app/models/case_log.rb b/app/models/case_log.rb index 7ff88e31d..d19957594 100644 --- a/app/models/case_log.rb +++ b/app/models/case_log.rb @@ -35,12 +35,12 @@ class CaseLog < ApplicationRecord scope :for_organisation, ->(org) { where(owning_organisation: org).or(where(managing_organisation: org)) } scope :filter_by_status, ->(status) { where status: status } - scope :filter_by_year, ->(year) { - years = Array(year) + scope :filter_by_year, lambda { |year_s| + years = Array(year_s) first_year = years.shift - query = where('startdate >= ?', Time.utc(first_year.to_i, 4, 1)).where('startdate <= ?',Time.utc(first_year.to_i + 1, 3, 31).end_of_day) + query = where("startdate >= ?", Time.utc(first_year.to_i, 4, 1)).where("startdate <= ?", Time.utc(first_year.to_i + 1, 3, 31).end_of_day) years.each do |year| - query = query.or(where('startdate >= ?', Time.utc(year.to_i, 4, 1)).where('startdate <= ?',Time.utc(year.to_i + 1, 3, 31).end_of_day)) + query = query.or(where("startdate >= ?", Time.utc(year.to_i, 4, 1)).where("startdate <= ?", Time.utc(year.to_i + 1, 3, 31).end_of_day)) end query.all } diff --git a/spec/models/case_log_spec.rb b/spec/models/case_log_spec.rb index ef2016c8e..8c10a4c8d 100644 --- a/spec/models/case_log_spec.rb +++ b/spec/models/case_log_spec.rb @@ -1835,25 +1835,25 @@ RSpec.describe CaseLog do context "when filtering by year" do it "allows filtering on a single year" do - expect(CaseLog.filter_by_year("2021").count).to eq(2) + expect(described_class.filter_by_year("2021").count).to eq(2) end it "allows filtering by multiple years using OR" do - expect(CaseLog.filter_by_year(["2021", "2022"]).count).to eq(3) + expect(described_class.filter_by_year(%w[2021 2022]).count).to eq(3) end it "can filter by year(s) AND status" do - expect(CaseLog.filter_by_year(["2021", "2022"]).filter_by_status("completed").count).to eq(1) + expect(described_class.filter_by_year(%w[2021 2022]).filter_by_status("completed").count).to eq(1) end end context "when filtering on status" do it "allows filtering on a single status" do - expect(CaseLog.filter_by_status("in_progress").count).to eq(2) + expect(described_class.filter_by_status("in_progress").count).to eq(2) end it "allows filtering on multiple statuses" do - expect(CaseLog.filter_by_status(["in_progress", "completed"]).count).to eq(3) + expect(described_class.filter_by_status(%w[in_progress completed]).count).to eq(3) end end end