Module: ResolvesMergeRequests
Overview
Mixin for resolving merge requests. All arguments must be in forms that ‘MergeRequestsFinder` can handle, so you may need to use aliasing.
Instance Method Summary
collapse
Methods included from LooksAhead
#apply_lookahead, #resolve
Instance Method Details
#early_return ⇒ Object
31
32
33
|
# File 'app/graphql/resolvers/concerns/resolves_merge_requests.rb', line 31
def early_return
[false, single? ? nil : MergeRequest.none]
end
|
#ready?(**args) ⇒ Boolean
25
26
27
28
29
|
# File 'app/graphql/resolvers/concerns/resolves_merge_requests.rb', line 25
def ready?(**args)
return early_return if no_results_possible?(args)
super
end
|
#resolve_with_lookahead(**args) ⇒ Object
13
14
15
16
17
18
19
20
21
22
23
|
# File 'app/graphql/resolvers/concerns/resolves_merge_requests.rb', line 13
def resolve_with_lookahead(**args)
if args[:group_id]
args[:group_id] = ::GitlabSchema.parse_gid(args[:group_id], expected_type: ::Group).model_id
args[:include_subgroups] = true
end
mr_finder = MergeRequestsFinder.new(current_user, args.compact)
finder = Gitlab::Graphql::Loaders::IssuableLoader.new(mr_parent, mr_finder)
select_result(finder.batching_find_all { |query| apply_lookahead(query) })
end
|