class Lato::Invitation

def accepted?

def accepted?
  !!accepted_at
end

def send_invite

def send_invite
  if accepted?
    errors.add(:base, :already_accepted)
    return false
  end
  if email_invite_semaphore.value
    errors.add(:base, :email_sending_limit)
    return false
  end
  delivery = Lato::InvitationMailer.invite_mail(id).deliver_now
  unless delivery
    errors.add(:base, :email_sending_error)
    return false
  end
  email_invite_semaphore.value = true
  true
end