adds as_moderator/administrator methods to comment

This commit is contained in:
Juanjo Bazán
2015-08-24 17:47:09 +02:00
parent 46643185f8
commit 57228636c4
2 changed files with 30 additions and 1 deletions

View File

@@ -1,10 +1,11 @@
class Comment < ActiveRecord::Base class Comment < ActiveRecord::Base
include ActsAsParanoidAliases include ActsAsParanoidAliases
acts_as_nested_set scope: [:commentable_id, :commentable_type], counter_cache: :children_count acts_as_nested_set scope: [:commentable_id, :commentable_type], counter_cache: :children_count
acts_as_paranoid column: :hidden_at acts_as_paranoid column: :hidden_at
acts_as_votable acts_as_votable
attr_accessor :comment_as_moderator, :comment_as_administrator
validates :body, presence: true validates :body, presence: true
validates :user, presence: true validates :user, presence: true
@@ -59,6 +60,14 @@ class Comment < ActiveRecord::Base
reviewed_at.present? reviewed_at.present?
end end
def as_administrator?
administrator_id.present?
end
def as_moderator?
moderator_id.present?
end
def mark_as_reviewed def mark_as_reviewed
update(reviewed_at: Time.now) update(reviewed_at: Time.now)
end end

View File

@@ -38,4 +38,24 @@ describe Comment do
expect { new_comment.destroy }.to change { comment.children_count }.from(1).to(0) expect { new_comment.destroy }.to change { comment.children_count }.from(1).to(0)
end end
end end
describe "#as_administrator?" do
it "should be true if comment has administrator_id, false otherway" do
expect(comment).not_to be_as_administrator
comment.administrator_id = 33
expect(comment).to be_as_administrator
end
end
describe "#as_moderator?" do
it "should be true if comment has moderator_id, false otherway" do
expect(comment).not_to be_as_moderator
comment.moderator_id = 21
expect(comment).to be_as_moderator
end
end
end end