diff options
author | Yorick Peterse <yorickpeterse@gmail.com> | 2018-04-18 15:41:42 +0200 |
---|---|---|
committer | Yorick Peterse <yorickpeterse@gmail.com> | 2018-04-18 15:51:39 +0200 |
commit | 6f292eaa69c771cec8a81d2edaad19a26ab3eae6 (patch) | |
tree | 30ef0c062121834b2dca4f4a87bc7af72e071962 /rubocop | |
parent | 019c0d5761b55ca21fd71d547dd4a2ebf14d615f (diff) | |
download | gitlab-ce-6f292eaa69c771cec8a81d2edaad19a26ab3eae6.tar.gz |
Revert the addition of goldiloader
This reverts the addition of the "goldiloader" Gem and all use of it.
While this Gem is very promising it's causing a variety of problems on
GitLab.com due to it eager-loading too much data in places where we
don't expect/can handle this. At least for the time being this means we
have to go back to manually fixing N+1 query problems, but at least
those should not cause a negative impact on availability.
Diffstat (limited to 'rubocop')
-rw-r--r-- | rubocop/cop/gitlab/has_many_through_scope.rb | 45 | ||||
-rw-r--r-- | rubocop/rubocop.rb | 3 |
2 files changed, 1 insertions, 47 deletions
diff --git a/rubocop/cop/gitlab/has_many_through_scope.rb b/rubocop/cop/gitlab/has_many_through_scope.rb deleted file mode 100644 index 770a2a0529f..00000000000 --- a/rubocop/cop/gitlab/has_many_through_scope.rb +++ /dev/null @@ -1,45 +0,0 @@ -require 'gitlab/styles/rubocop/model_helpers' - -module RuboCop - module Cop - module Gitlab - class HasManyThroughScope < RuboCop::Cop::Cop - include ::Gitlab::Styles::Rubocop::ModelHelpers - - MSG = 'Always provide an explicit scope calling auto_include(false) when using has_many :through'.freeze - - def_node_search :through?, <<~PATTERN - (pair (sym :through) _) - PATTERN - - def_node_matcher :has_many_through?, <<~PATTERN - (send nil? :has_many ... #through?) - PATTERN - - def_node_search :disables_auto_include?, <<~PATTERN - (send _ :auto_include false) - PATTERN - - def_node_matcher :scope_disables_auto_include?, <<~PATTERN - (block (send nil? :lambda) _ #disables_auto_include?) - PATTERN - - def on_send(node) - return unless in_model?(node) - return unless has_many_through?(node) - - target = node - scope_argument = node.children[3] - - if scope_argument.children[0].children.last == :lambda - return if scope_disables_auto_include?(scope_argument) - - target = scope_argument - end - - add_offense(target, location: :expression) - end - end - end - end -end diff --git a/rubocop/rubocop.rb b/rubocop/rubocop.rb index 96061672749..f05990232ab 100644 --- a/rubocop/rubocop.rb +++ b/rubocop/rubocop.rb @@ -1,8 +1,7 @@ # rubocop:disable Naming/FileName -require_relative 'cop/gitlab/has_many_through_scope' -require_relative 'cop/gitlab/httparty' require_relative 'cop/gitlab/module_with_instance_variables' require_relative 'cop/gitlab/predicate_memoization' +require_relative 'cop/gitlab/httparty' require_relative 'cop/include_sidekiq_worker' require_relative 'cop/avoid_return_from_blocks' require_relative 'cop/avoid_break_from_strong_memoize' |