Class: LastGroupOwnerAssigner

Inherits:
Object
  • Object
show all
Defined in:
app/models/members/last_group_owner_assigner.rb

Overview

Optimization class to fix group member n+1 queries

Instance Method Summary collapse

Constructor Details

#initialize(group, members) ⇒ LastGroupOwnerAssigner

Returns a new instance of LastGroupOwnerAssigner.



5
6
7
8
# File 'app/models/members/last_group_owner_assigner.rb', line 5

def initialize(group, members)
  @group = group
  @members = members
end

Instance Method Details

#executeObject



10
11
12
13
14
# File 'app/models/members/last_group_owner_assigner.rb', line 10

def execute
  @group_single_owner = owners.size == 1

  members.each { |member| set_last_owner(member) }
end