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