Retrospring/app/models/question.rb

28 lines
640 B
Ruby

class Question < ApplicationRecord
include Question::AnswerMethods
belongs_to :user, optional: true
has_many :answers, dependent: :destroy
has_many :inboxes, dependent: :destroy
validates :content, length: { maximum: 512 }
before_destroy do
rep = Report.where(target_id: self.id, type: 'Reports::Question')
rep.each do |r|
unless r.nil?
r.deleted = true
r.save
end
end
user&.decrement! :asked_count unless self.author_is_anonymous
end
def can_be_removed?
return false if self.answers.count > 0
return false if Inbox.where(question: self).count > 1
true
end
end