Add and apply Style/InvertibleUnlessCondition rule

This rule was added in rubocop 1.44.0. It's useful to avoid accidental
`unless !condition` clauses.

Note we aren't replacing `unless zero?` with `if nonzero?` because we
never use `nonzero?`; using it sounds like `if !zero?`.

Replacing `unless any?` with `if none?` is only consistent if we also replace
`unless present?` with `if blank?`, so we're also adding this case. For
consistency, we're also replacing `unless blank?` with `if present?`.

We're also simplifying code dealing with `> 0` conditions in order to
make the code (hopefully) easier to understand.

Also for consistency, we're enabling the `Style/InverseMethods` rule,
which follows a similar idea.
This commit is contained in:
Javi Martín
2023-09-07 19:08:38 +02:00
parent 21ca96ae1c
commit 28aafbd4bc
21 changed files with 40 additions and 34 deletions

View File

@@ -1,9 +1,9 @@
class Admin::Api::StatsController < Admin::Api::BaseController
def show
unless params[:event].present? ||
params[:visits].present? ||
params[:budget_investments].present? ||
params[:user_supported_budgets].present?
if params[:event].blank? &&
params[:visits].blank? &&
params[:budget_investments].blank? &&
params[:user_supported_budgets].blank?
return render json: {}, status: :bad_request
end

View File

@@ -14,7 +14,7 @@ class Admin::LocalCensusRecords::ImportsController < Admin::LocalCensusRecords::
private
def local_census_records_import_params
return {} unless params[:local_census_records_import].present?
return {} if params[:local_census_records_import].blank?
params.require(:local_census_records_import).permit(allowed_params)
end

View File

@@ -4,13 +4,13 @@ module Dashboard::ExpectsDateRange
include Dashboard::HasProposal
def start_date(fallback_date = proposal.created_at.to_date)
return Date.parse(params[:start_date]) unless params[:start_date].blank?
return Date.parse(params[:start_date]) if params[:start_date].present?
fallback_date
end
def end_date
return Date.parse(params[:end_date]) unless params[:end_date].blank?
return Date.parse(params[:end_date]) if params[:end_date].present?
Date.current
end

View File

@@ -30,7 +30,7 @@ class Officing::BaseController < ApplicationController
end
def verify_booth
return unless current_booth.blank?
return if current_booth.present?
booths = current_user.poll_officer.todays_booths
case booths.count

View File

@@ -155,8 +155,8 @@ class ProposalsController < ApplicationController
end
def load_featured
return unless !@advanced_search_terms && @search_terms.blank? &&
params[:retired].blank? && @current_order != "recommendations"
return if @advanced_search_terms || @search_terms.present? ||
params[:retired].present? || @current_order == "recommendations"
if Setting["feature.featured_proposals"]
@featured_proposals = Proposal.not_archived