Class: Preloaders::ProjectPolicyPreloader

Inherits:
Object
  • Object
show all
Defined in:
app/models/preloaders/project_policy_preloader.rb

Instance Method Summary collapse

Constructor Details

#initialize(projects, current_user) ⇒ ProjectPolicyPreloader

Returns a new instance of ProjectPolicyPreloader.



5
6
7
8
# File 'app/models/preloaders/project_policy_preloader.rb', line 5

def initialize(projects, current_user)
  @projects = projects
  @current_user = current_user
end

Instance Method Details

#executeObject



10
11
12
13
14
15
16
17
18
# File 'app/models/preloaders/project_policy_preloader.rb', line 10

def execute
  return if projects.is_a?(ActiveRecord::NullRelation)

  ActiveRecord::Associations::Preloader.new(
    records: projects,
    associations: { group: :route, namespace: :owner }
  ).call
  ::Preloaders::UserMaxAccessLevelInProjectsPreloader.new(projects, current_user).execute
end