From 675c9b9f6bec35f1e6988a42c4fa6a6f8331d14f Mon Sep 17 00:00:00 2001 From: charlieablett Date: Tue, 2 Jul 2019 17:32:44 +1200 Subject: Address reviewer comments - Remove Gitaly call check for fields that have a constant complexity declared - Add associated test --- app/graphql/types/base_field.rb | 5 +++++ app/graphql/types/tree/tree_type.rb | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) (limited to 'app/graphql') diff --git a/app/graphql/types/base_field.rb b/app/graphql/types/base_field.rb index 6b377e88e16..efeee4a7a4d 100644 --- a/app/graphql/types/base_field.rb +++ b/app/graphql/types/base_field.rb @@ -8,6 +8,7 @@ module Types def initialize(*args, **kwargs, &block) @calls_gitaly = !!kwargs.delete(:calls_gitaly) + @constant_complexity = !!kwargs[:complexity] kwargs[:complexity] ||= field_complexity(kwargs[:resolver_class]) super(*args, **kwargs, &block) @@ -23,6 +24,10 @@ module Types @calls_gitaly end + def constant_complexity? + @constant_complexity + end + private def field_complexity(resolver_class) diff --git a/app/graphql/types/tree/tree_type.rb b/app/graphql/types/tree/tree_type.rb index 2023abc13f9..fbdc1597461 100644 --- a/app/graphql/types/tree/tree_type.rb +++ b/app/graphql/types/tree/tree_type.rb @@ -7,7 +7,7 @@ module Types graphql_name 'Tree' # Complexity 10 as it triggers a Gitaly call on each render - field :last_commit, Types::CommitType, null: true, complexity: 10, resolve: -> (tree, args, ctx) do + field :last_commit, Types::CommitType, null: true, complexity: 10, calls_gitaly: true, resolve: -> (tree, args, ctx) do tree.repository.last_commit_for_path(tree.sha, tree.path) end -- cgit v1.2.1