From 01d8c1f6f0dacbb8d4779d0226e1c02eb11dfe0e Mon Sep 17 00:00:00 2001 From: Douglas Barbosa Alexandre Date: Wed, 31 Oct 2018 14:39:24 -0300 Subject: [PATCH] Whitelist none method from ActiveRecord::Querying --- app/finders/autocomplete/users_finder.rb | 2 -- app/finders/concerns/finder_with_cross_project_access.rb | 2 -- app/finders/group_descendants_finder.rb | 2 -- app/finders/groups_finder.rb | 4 ---- app/finders/issuable_finder.rb | 4 ---- app/finders/issues_finder.rb | 2 -- app/finders/labels_finder.rb | 2 -- app/finders/milestones_finder.rb | 2 -- app/finders/pipelines_finder.rb | 2 -- app/finders/projects_finder.rb | 2 -- app/finders/snippets_finder.rb | 2 -- app/services/search/group_service.rb | 2 -- lib/gitlab/user_extractor.rb | 2 -- rubocop/cop/code_reuse/active_record.rb | 1 - 14 files changed, 31 deletions(-) diff --git a/app/finders/autocomplete/users_finder.rb b/app/finders/autocomplete/users_finder.rb index e2283f3266e..45955783be9 100644 --- a/app/finders/autocomplete/users_finder.rb +++ b/app/finders/autocomplete/users_finder.rb @@ -72,7 +72,6 @@ module Autocomplete author_id.present? && current_user end - # rubocop: disable CodeReuse/ActiveRecord def find_users if project project.authorized_users.union_with_user(author_id) @@ -84,6 +83,5 @@ module Autocomplete User.none end end - # rubocop: enable CodeReuse/ActiveRecord end end diff --git a/app/finders/concerns/finder_with_cross_project_access.rb b/app/finders/concerns/finder_with_cross_project_access.rb index e038636f0c4..220f62bcc7f 100644 --- a/app/finders/concerns/finder_with_cross_project_access.rb +++ b/app/finders/concerns/finder_with_cross_project_access.rb @@ -16,7 +16,6 @@ module FinderWithCrossProjectAccess end override :execute - # rubocop: disable CodeReuse/ActiveRecord def execute(*args) check = Gitlab::CrossProjectAccess.find_check(self) original = super @@ -30,7 +29,6 @@ module FinderWithCrossProjectAccess original end end - # rubocop: enable CodeReuse/ActiveRecord # We can skip the cross project check for finding indivitual records. # this would be handled by the `can?(:read_*, result)` call in `FinderMethods` diff --git a/app/finders/group_descendants_finder.rb b/app/finders/group_descendants_finder.rb index 9d57d2d3bc9..c96979619fd 100644 --- a/app/finders/group_descendants_finder.rb +++ b/app/finders/group_descendants_finder.rb @@ -131,7 +131,6 @@ class GroupDescendantsFinder .with_selects_for_list(archived: params[:archived]) end - # rubocop: disable CodeReuse/ActiveRecord def subgroups return Group.none unless Group.supports_nested_groups? @@ -145,7 +144,6 @@ class GroupDescendantsFinder groups.with_selects_for_list(archived: params[:archived]).order_by(sort) end - # rubocop: enable CodeReuse/ActiveRecord # rubocop: disable CodeReuse/Finder def direct_child_projects diff --git a/app/finders/groups_finder.rb b/app/finders/groups_finder.rb index a35a3ed6142..ea954f98220 100644 --- a/app/finders/groups_finder.rb +++ b/app/finders/groups_finder.rb @@ -40,7 +40,6 @@ class GroupsFinder < UnionFinder attr_reader :current_user, :params - # rubocop: disable CodeReuse/ActiveRecord def all_groups return [owned_groups] if params[:owned] return [groups_with_min_access_level] if min_access_level? @@ -52,7 +51,6 @@ class GroupsFinder < UnionFinder groups << Group.none if groups.empty? groups end - # rubocop: enable CodeReuse/ActiveRecord def groups_for_ancestors current_user.authorized_groups @@ -82,11 +80,9 @@ class GroupsFinder < UnionFinder end # rubocop: enable CodeReuse/ActiveRecord - # rubocop: disable CodeReuse/ActiveRecord def owned_groups current_user&.owned_groups || Group.none end - # rubocop: enable CodeReuse/ActiveRecord def include_public_groups? current_user.nil? || all_available? diff --git a/app/finders/issuable_finder.rb b/app/finders/issuable_finder.rb index eb3d2498830..92aaa9c6b29 100644 --- a/app/finders/issuable_finder.rb +++ b/app/finders/issuable_finder.rb @@ -196,7 +196,6 @@ class IssuableFinder milestones? && params[:milestone_title] == Milestone::None.title end - # rubocop: disable CodeReuse/ActiveRecord def milestones return @milestones if defined?(@milestones) @@ -217,7 +216,6 @@ class IssuableFinder Milestone.none end end - # rubocop: enable CodeReuse/ActiveRecord def labels? params[:label_name].present? @@ -227,7 +225,6 @@ class IssuableFinder labels? && params[:label_name].include?(Label::None.title) end - # rubocop: disable CodeReuse/ActiveRecord def labels return @labels if defined?(@labels) @@ -238,7 +235,6 @@ class IssuableFinder Label.none end end - # rubocop: enable CodeReuse/ActiveRecord def assignee_id? params[:assignee_id].present? diff --git a/app/finders/issues_finder.rb b/app/finders/issues_finder.rb index cee57a83df4..45e494725d7 100644 --- a/app/finders/issues_finder.rb +++ b/app/finders/issues_finder.rb @@ -135,7 +135,6 @@ class IssuesFinder < IssuableFinder current_user.blank? end - # rubocop: disable CodeReuse/ActiveRecord def by_assignee(items) if filter_by_no_assignee? items.unassigned @@ -149,5 +148,4 @@ class IssuesFinder < IssuableFinder items end end - # rubocop: enable CodeReuse/ActiveRecord end diff --git a/app/finders/labels_finder.rb b/app/finders/labels_finder.rb index d000af21be3..e523942ea4c 100644 --- a/app/finders/labels_finder.rb +++ b/app/finders/labels_finder.rb @@ -12,7 +12,6 @@ class LabelsFinder < UnionFinder @params = params end - # rubocop: disable CodeReuse/ActiveRecord def execute(skip_authorization: false) @skip_authorization = skip_authorization items = find_union(label_ids, Label) || Label.none @@ -21,7 +20,6 @@ class LabelsFinder < UnionFinder items = by_search(items) sort(items) end - # rubocop: enable CodeReuse/ActiveRecord private diff --git a/app/finders/milestones_finder.rb b/app/finders/milestones_finder.rb index 47231ea80c7..9c477978f60 100644 --- a/app/finders/milestones_finder.rb +++ b/app/finders/milestones_finder.rb @@ -20,7 +20,6 @@ class MilestonesFinder @params = params end - # rubocop: disable CodeReuse/ActiveRecord def execute return Milestone.none if project_ids.empty? && group_ids.empty? @@ -31,7 +30,6 @@ class MilestonesFinder order(items) end - # rubocop: enable CodeReuse/ActiveRecord private diff --git a/app/finders/pipelines_finder.rb b/app/finders/pipelines_finder.rb index 3d0d3219a94..35d0e1acce5 100644 --- a/app/finders/pipelines_finder.rb +++ b/app/finders/pipelines_finder.rb @@ -12,7 +12,6 @@ class PipelinesFinder @params = params end - # rubocop: disable CodeReuse/ActiveRecord def execute unless Ability.allowed?(current_user, :read_pipeline, project) return Ci::Pipeline.none @@ -28,7 +27,6 @@ class PipelinesFinder items = by_yaml_errors(items) sort_items(items) end - # rubocop: enable CodeReuse/ActiveRecord private diff --git a/app/finders/projects_finder.rb b/app/finders/projects_finder.rb index 6ececcd4152..93d3c991846 100644 --- a/app/finders/projects_finder.rb +++ b/app/finders/projects_finder.rb @@ -88,7 +88,6 @@ class ProjectsFinder < UnionFinder # rubocop: enable CodeReuse/ActiveRecord # Builds a collection for an anonymous user. - # rubocop: disable CodeReuse/ActiveRecord def collection_without_user if private_only? || owned_projects? || min_access_level? Project.none @@ -96,7 +95,6 @@ class ProjectsFinder < UnionFinder Project.public_to_user end end - # rubocop: enable CodeReuse/ActiveRecord def owned_projects? params[:owned].present? diff --git a/app/finders/snippets_finder.rb b/app/finders/snippets_finder.rb index 3528e4228b2..f90971bb9f6 100644 --- a/app/finders/snippets_finder.rb +++ b/app/finders/snippets_finder.rb @@ -43,7 +43,6 @@ class SnippetsFinder < UnionFinder end end - # rubocop: disable CodeReuse/ActiveRecord def authorized_snippets_from_project if can?(current_user, :read_project_snippet, project) if project.team.member?(current_user) @@ -55,7 +54,6 @@ class SnippetsFinder < UnionFinder Snippet.none end end - # rubocop: enable CodeReuse/ActiveRecord # rubocop: disable CodeReuse/ActiveRecord def authorized_snippets diff --git a/app/services/search/group_service.rb b/app/services/search/group_service.rb index 00372887985..34803d005e3 100644 --- a/app/services/search/group_service.rb +++ b/app/services/search/group_service.rb @@ -11,13 +11,11 @@ module Search @group = group end - # rubocop: disable CodeReuse/ActiveRecord def projects return Project.none unless group return @projects if defined? @projects @projects = super.inside_path(group.full_path) end - # rubocop: enable CodeReuse/ActiveRecord end end diff --git a/lib/gitlab/user_extractor.rb b/lib/gitlab/user_extractor.rb index bd0d24e4369..9abd64c2250 100644 --- a/lib/gitlab/user_extractor.rb +++ b/lib/gitlab/user_extractor.rb @@ -14,13 +14,11 @@ module Gitlab @text = text end - # rubocop: disable CodeReuse/ActiveRecord def users return User.none unless @text.present? @users ||= User.from_union(union_relations) end - # rubocop: enable CodeReuse/ActiveRecord def usernames matches[:usernames] diff --git a/rubocop/cop/code_reuse/active_record.rb b/rubocop/cop/code_reuse/active_record.rb index d25e8548fd0..2be8f7c11aa 100644 --- a/rubocop/cop/code_reuse/active_record.rb +++ b/rubocop/cop/code_reuse/active_record.rb @@ -49,7 +49,6 @@ module RuboCop limit: true, lock: false, many?: false, - none: false, offset: true, order: true, pluck: true,