diff options
author | charlieablett <cablett@gitlab.com> | 2019-07-02 08:32:44 +0300 |
---|---|---|
committer | charlieablett <cablett@gitlab.com> | 2019-07-05 01:18:50 +0300 |
commit | 675c9b9f6bec35f1e6988a42c4fa6a6f8331d14f (patch) | |
tree | c96af65aa258cb557e7d714c7408eec037525fdf /app/graphql/types | |
parent | cf1b0d10bcdde69f05695a2e9a0d380c6badb6d1 (diff) |
Address reviewer comments
- Remove Gitaly call check for fields that have a constant complexity
declared
- Add associated test
Diffstat (limited to 'app/graphql/types')
-rw-r--r-- | app/graphql/types/base_field.rb | 5 | ||||
-rw-r--r-- | app/graphql/types/tree/tree_type.rb | 2 |
2 files changed, 6 insertions, 1 deletions
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 |