Class: Commontator::Comment
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- Commontator::Comment
- Defined in:
- app/models/commontator/comment.rb
Instance Method Summary collapse
- #can_be_created_by?(user) ⇒ Boolean
- #can_be_deleted_by?(user) ⇒ Boolean
- #can_be_edited_by?(user) ⇒ Boolean
-
#can_be_read_by?(user) ⇒ Boolean
Access control methods #.
- #can_be_voted_on? ⇒ Boolean
- #can_be_voted_on_by?(user) ⇒ Boolean
- #delete(user = nil) ⇒ Object
- #is_deleted? ⇒ Boolean
- #is_modified? ⇒ Boolean
- #undelete ⇒ Object
Instance Method Details
#can_be_created_by?(user) ⇒ Boolean
50 51 52 |
# File 'app/models/commontator/comment.rb', line 50 def can_be_created_by?(user) !thread.is_closed? && thread.can_be_read_by?(user) && user == commontator end |
#can_be_deleted_by?(user) ⇒ Boolean
61 62 63 64 65 66 |
# File 'app/models/commontator/comment.rb', line 61 def can_be_deleted_by?(user) (!thread.is_closed? &&\ ((user == commontator && thread.config.can_delete_own_comments) &&\ (thread.comments.last == self || thread.config.can_delete_old_comments))) ||\ thread.can_be_edited_by?(user) end |
#can_be_edited_by?(user) ⇒ Boolean
54 55 56 57 58 59 |
# File 'app/models/commontator/comment.rb', line 54 def can_be_edited_by?(user) !thread.is_closed? && !is_deleted? &&\ ((user == commontator && thread.config.can_edit_own_comments) ||\ (thread.can_be_edited_by?(user) && thread.config.admin_can_edit_comments)) &&\ (thread.comments.last == self || thread.config.can_edit_old_comments) end |
#can_be_read_by?(user) ⇒ Boolean
Access control methods #
44 45 46 47 48 |
# File 'app/models/commontator/comment.rb', line 44 def can_be_read_by?(user) (thread.can_be_read_by?(user) && (!is_deleted? ||\ thread.config.deleted_comments_are_visible)) ||\ thread.can_be_edited_by?(user) end |
#can_be_voted_on? ⇒ Boolean
68 69 70 |
# File 'app/models/commontator/comment.rb', line 68 def can_be_voted_on? is_votable && !is_deleted? && thread.config.comments_can_be_voted_on end |
#can_be_voted_on_by?(user) ⇒ Boolean
72 73 74 75 |
# File 'app/models/commontator/comment.rb', line 72 def can_be_voted_on_by?(user) can_be_voted_on? && !thread.is_closed? &&\ thread.can_be_read_by?(user) && user != commontator end |
#delete(user = nil) ⇒ Object
29 30 31 32 33 |
# File 'app/models/commontator/comment.rb', line 29 def delete(user = nil) self.deleted_at = Time.now self.deleter = user self.save! end |
#is_deleted? ⇒ Boolean
25 26 27 |
# File 'app/models/commontator/comment.rb', line 25 def is_deleted? !deleted_at.blank? end |
#is_modified? ⇒ Boolean
21 22 23 |
# File 'app/models/commontator/comment.rb', line 21 def is_modified? updated_at != created_at end |
#undelete ⇒ Object
35 36 37 38 |
# File 'app/models/commontator/comment.rb', line 35 def undelete self.deleted_at = nil self.save! end |