Enable Rubocop Performance/InefficientHashSearch
When used with a Hash, `.keys.include?` is bad because: 1. It performs a O(n) search instead of the efficient `.has_key?` 2. It clones all keys into separate array. Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/64975
This commit is contained in:
parent
0d538e44af
commit
3e001d29cc
5 changed files with 4 additions and 15 deletions
|
@ -262,17 +262,6 @@ Naming/HeredocDelimiterNaming:
|
|||
Naming/RescuedExceptionsVariableName:
|
||||
Enabled: false
|
||||
|
||||
# Offense count: 6
|
||||
# Cop supports --auto-correct.
|
||||
Performance/InefficientHashSearch:
|
||||
Exclude:
|
||||
- 'app/controllers/concerns/sessionless_authentication.rb'
|
||||
- 'app/models/note.rb'
|
||||
- 'app/models/user_preference.rb'
|
||||
- 'ee/app/models/ee/project.rb'
|
||||
- 'lib/gitlab/import_export/members_mapper.rb'
|
||||
- 'qa/spec/spec_helper.rb'
|
||||
|
||||
# Offense count: 3
|
||||
# Cop supports --auto-correct.
|
||||
Performance/ReverseEach:
|
||||
|
|
|
@ -13,7 +13,7 @@ module SessionlessAuthentication
|
|||
end
|
||||
|
||||
def sessionless_user?
|
||||
current_user && !session.keys.include?('warden.user.user.key')
|
||||
current_user && !session.key?('warden.user.user.key')
|
||||
end
|
||||
|
||||
def sessionless_sign_in(user)
|
||||
|
|
|
@ -292,7 +292,7 @@ class Note < ApplicationRecord
|
|||
end
|
||||
|
||||
def special_role=(role)
|
||||
raise "Role is undefined, #{role} not found in #{SpecialRole.values}" unless SpecialRole.values.include?(role)
|
||||
raise "Role is undefined, #{role} not found in #{SpecialRole.values}" unless SpecialRole.value?(role)
|
||||
|
||||
@special_role = role
|
||||
end
|
||||
|
|
|
@ -26,7 +26,7 @@ class UserPreference < ApplicationRecord
|
|||
|
||||
def set_notes_filter(filter_id, issuable)
|
||||
# No need to update the column if the value is already set.
|
||||
if filter_id && NOTES_FILTERS.values.include?(filter_id)
|
||||
if filter_id && NOTES_FILTERS.value?(filter_id)
|
||||
field = notes_filter_field_for(issuable)
|
||||
self[field] = filter_id
|
||||
|
||||
|
|
|
@ -46,7 +46,7 @@ RSpec.configure do |config|
|
|||
|
||||
if ENV['CI']
|
||||
config.around do |example|
|
||||
retry_times = example.metadata.keys.include?(:quarantine) ? 1 : 2
|
||||
retry_times = example.metadata.key?(:quarantine) ? 1 : 2
|
||||
example.run_with_retry retry: retry_times
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue