diff --git a/app/models/inbox.rb b/app/models/inbox.rb index 5084084a..06c9a2eb 100644 --- a/app/models/inbox.rb +++ b/app/models/inbox.rb @@ -13,11 +13,7 @@ class Inbox < ActiveRecord::Base end def remove - unless self.question.user.nil? - self.question.user.decrement! :asked_count if self.question.answer_count == 1 - end - - self.question.destroy if self.question.answer_count == 1 + self.question.destroy if self.question.can_be_removed self.destroy end end diff --git a/app/models/question.rb b/app/models/question.rb index adc1f802..48e6c596 100644 --- a/app/models/question.rb +++ b/app/models/question.rb @@ -3,4 +3,13 @@ class Question < ActiveRecord::Base has_many :answers validates :content, length: { maximum: 255 } + + class << self + def can_be_removed + return false if self.answers.count > 0 + return false if Inbox.where(question: self).count > 0 + self.user.decrement! :asked_count + true + end + end end