Class: Members::InviteMemberBuilder

Inherits:
StandardMemberBuilder show all
Defined in:
app/services/members/invite_member_builder.rb

Instance Method Summary collapse

Methods inherited from StandardMemberBuilder

#initialize

Constructor Details

This class inherits a constructor from Members::StandardMemberBuilder

Instance Method Details

#executeObject



5
6
7
8
9
10
11
12
13
14
15
# File 'app/services/members/invite_member_builder.rb', line 5

def execute
  if user_by_email
    find_or_initialize_member_by_user(user_by_email.id)
  else
    source.members_and_requesters.find_or_initialize_by(invite_email: invitee).tap do |record| # rubocop:disable CodeReuse/ActiveRecord -- TODO: https://gitlab.com/gitlab-org/gitlab/-/issues/462165
      # We do not want to cause misses for existing records as the invite process is also sometimes used
      # as a way to update existing invites.
      record.invite_email = invitee.downcase if record.new_record?
    end
  end
end