Module: LooksAhead

Extended by:
ActiveSupport::Concern
Included in:
Resolvers::Achievements::AchievementsResolver, Resolvers::Achievements::UserAchievementsResolver, Resolvers::AlertManagement::AlertResolver, Resolvers::Analytics::Aggregation::EngineResolver::BaseEngineResolver, Resolvers::BlobsResolver, Resolvers::BoardListsResolver, Resolvers::Ci::AllJobsResolver, Resolvers::Ci::Catalog::ResourcesResolver, Resolvers::Ci::JobTokenAuthLogsResolver, Resolvers::Ci::PipelineStagesResolver, Resolvers::Ci::PipelineTriggersResolver, Resolvers::Ci::ProjectPipelineResolver, Resolvers::Ci::ProjectPipelinesResolver, Resolvers::Ci::RunnerJobsResolver, Resolvers::Ci::RunnerOwnerProjectResolver, Resolvers::Ci::RunnerProjectsResolver, Resolvers::Ci::RunnersResolver, Resolvers::Clusters::AgentsResolver, Resolvers::CustomEmojiResolver, Resolvers::Import::SourceUsersResolver, Resolvers::IncidentManagement::TimelineEventTagsResolver, Resolvers::IncidentManagement::TimelineEventsResolver, Resolvers::MembersResolver, Resolvers::MilestonesResolver, Resolvers::Noteable::NotesResolver, Resolvers::Organizations::OrganizationUsersResolver, Resolvers::ProjectJobsResolver, Resolvers::Projects::BranchRulesResolver, Resolvers::Projects::DeployKeyResolver, Resolvers::Projects::ForkTargetsResolver, Resolvers::TimelogResolver, Resolvers::Users::PersonalAccessTokensResolver, Resolvers::WebHooks::EventsResolver, Resolvers::WebHooks::ProjectHooksResolver, Resolvers::WorkItems::TypesResolver, ResolvesGroups
Defined in:
app/graphql/resolvers/concerns/looks_ahead.rb

Instance Method Summary collapse

Instance Method Details

#apply_lookahead(query) ⇒ Object



17
18
19
20
21
22
23
# File 'app/graphql/resolvers/concerns/looks_ahead.rb', line 17

def apply_lookahead(query)
  all_preloads = (unconditional_includes + filtered_preloads).uniq

  return query if all_preloads.empty?

  query.preload(*all_preloads) # rubocop: disable CodeReuse/ActiveRecord
end

#resolve(**args) ⇒ Object



11
12
13
14
15
# File 'app/graphql/resolvers/concerns/looks_ahead.rb', line 11

def resolve(**args)
  self.lookahead = args.delete(:lookahead)

  resolve_with_lookahead(**args)
end