class Inbox < ApplicationRecord belongs_to :user belongs_to :question attr_accessor :returning before_create do raise "User does not want to receive anonymous questions" if !returning && question.author_is_anonymous && (question.author_name != "justask") && !user.privacy_allow_anonymous_questions? end def answer(answer_content, user) raise Errors::AnsweringOtherBlockedSelf if question.user&.blocking?(user) raise Errors::AnsweringSelfBlockedOther if user.blocking?(question.user) answer = user.answer(self.question, answer_content) self.destroy answer end def remove self.question.destroy if self.question.can_be_removed? self.destroy end end