Post#approve!: move validation to post_approval.rb

This commit is contained in:
evazion
2017-04-03 00:10:36 -05:00
parent 70f02af8d7
commit 258fc37bfe
3 changed files with 24 additions and 21 deletions

View File

@@ -1,12 +1,24 @@
class PostApproval < ActiveRecord::Base
belongs_to :user
belongs_to :post
belongs_to :post, inverse_of: :approvals
validate :validate_approval
def self.prune!
where("created_at < ?", 1.month.ago).delete_all
end
def self.approved?(user_id, post_id)
where(user_id: user_id, post_id: post_id).exists?
def validate_approval
if post.is_status_locked?
errors.add(:post, "is locked and cannot be approved")
end
if post.uploader == user
errors.add(:base, "You cannot approve a post you uploaded")
end
if post.approved_by?(user)
errors.add(:base, "You have previously approved this post and cannot approve it again")
end
end
end