diff --git a/.rubocop.yml b/.rubocop.yml index e6c5dc937..0894528da 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -441,6 +441,9 @@ Rails/FindBy: Exclude: - "config/initializers/ahoy.rb" +Rails/FindByOrAssignmentMemoization: + Enabled: true + Rails/FindEach: Enabled: true diff --git a/app/components/admin/machine_learning/setting_component.rb b/app/components/admin/machine_learning/setting_component.rb index e6da31334..ee218d5ee 100644 --- a/app/components/admin/machine_learning/setting_component.rb +++ b/app/components/admin/machine_learning/setting_component.rb @@ -8,7 +8,7 @@ class Admin::MachineLearning::SettingComponent < ApplicationComponent private def setting - @setting ||= Setting.find_by(key: "machine_learning.#{kind}") + @setting ||= Setting.find_by!(key: "machine_learning.#{kind}") end def ml_info diff --git a/app/controllers/dashboard/successful_supports_controller.rb b/app/controllers/dashboard/successful_supports_controller.rb index e79213e79..d42e48771 100644 --- a/app/controllers/dashboard/successful_supports_controller.rb +++ b/app/controllers/dashboard/successful_supports_controller.rb @@ -27,7 +27,9 @@ class Dashboard::SuccessfulSupportsController < Dashboard::BaseController end def successful_proposal - @successful_proposal ||= Proposal.find_by(id: Setting["proposals.successful_proposal_id"]) + return @successful_proposal if defined?(@successful_proposal) + + @successful_proposal = Proposal.find_by(id: Setting["proposals.successful_proposal_id"]) end def days_diff diff --git a/app/models/verification/management/email.rb b/app/models/verification/management/email.rb index cb1c1bc82..311ff1a6d 100644 --- a/app/models/verification/management/email.rb +++ b/app/models/verification/management/email.rb @@ -11,7 +11,9 @@ class Verification::Management::Email delegate :username, to: :user, allow_nil: true def user - @user ||= User.find_by(email: email) + return @user if defined?(@user) + + @user = User.find_by(email: email) end def user?