Class: Decidim::Comments::Comment
- Inherits:
-
ApplicationRecord
- Object
- ActiveRecord::Base
- ApplicationRecord
- Decidim::Comments::Comment
- Includes:
- Authorable
- Defined in:
- app/models/decidim/comments/comment.rb
Overview
Some resources will be configured as commentable objects so users can comment on them. The will be able to create conversations between users to discuss or share their thoughts about the resource.
Constant Summary collapse
- MAX_DEPTH =
Limit the max depth of a comment tree. If C is a comment and R is a reply: C (depth 0) |–R (depth 1) |–R (depth 1)
|--R (depth 2) |--R (depth 3) 3
Instance Method Summary collapse
-
#can_have_replies? ⇒ Boolean
Public: Define if a comment can have replies or not.
-
#down_voted_by?(user) ⇒ Boolean
Public: Check if the user has downvoted the comment.
-
#up_voted_by?(user) ⇒ Boolean
Public: Check if the user has upvoted the comment.
Instance Method Details
#can_have_replies? ⇒ Boolean
Public: Define if a comment can have replies or not
Returns a bool value to indicate if comment can have replies
36 37 38 |
# File 'app/models/decidim/comments/comment.rb', line 36 def can_have_replies? depth < MAX_DEPTH end |
#down_voted_by?(user) ⇒ Boolean
Public: Check if the user has downvoted the comment
Returns a bool value to indicate if the condition is truthy or not
50 51 52 |
# File 'app/models/decidim/comments/comment.rb', line 50 def down_voted_by?(user) down_votes.any? { |vote| vote. == user } end |
#up_voted_by?(user) ⇒ Boolean
Public: Check if the user has upvoted the comment
Returns a bool value to indicate if the condition is truthy or not
43 44 45 |
# File 'app/models/decidim/comments/comment.rb', line 43 def up_voted_by?(user) up_votes.any? { |vote| vote. == user } end |