module Invitations::Base

def accept_for(user)

def accept_for(user)
  User.transaction do
    user.memberships << membership
    user.update(current_team: team, former_user: false)
    destroy
  end
end

def is_for?(user)

def is_for?(user)
  user.email.downcase.strip == email.downcase.strip
end

def name

def name
  I18n.t("invitations.values.name", team_name: team.name)
end

def roles

def roles
  membership.roles
end

def send_invitation_email

def send_invitation_email
  UserMailer.invited(uuid).deliver_later
end

def set_added_by_membership

def set_added_by_membership
  membership.update(added_by: from_membership)
end