Class: CommentPolicy

Inherits:
ApplicationPolicy show all
Defined in:
app/policies/comment_policy.rb

Constant Summary

Constants inherited from ApplicationPolicy

ApplicationPolicy::STANDARD_EDIT_PERMISSIONS, ApplicationPolicy::STANDARD_VIEW_PERMISSIONS

Instance Attribute Summary

Attributes inherited from ApplicationPolicy

#record, #user

Instance Method Summary collapse

Methods inherited from ApplicationPolicy

#destroy_all?, #edit?, #index?, #initialize, #new?, #show?, #update?

Constructor Details

This class inherits a constructor from ApplicationPolicy

Instance Method Details

#create? ⇒ Boolean

Returns:

  • (Boolean)


2
3
4
5
6
7
8
9
10
# File 'app/policies/comment_policy.rb', line 2

def create?
  all_of(
    user.present?,
    one_of(
      user&.is_moderator?,
      check_permissions(record.commentable, STANDARD_VIEW_PERMISSIONS, user)
    )
  )
end

#destroy? ⇒ Boolean

Returns:

  • (Boolean)


12
13
14
15
16
17
# File 'app/policies/comment_policy.rb', line 12

def destroy?
  one_of(
    user&.is_moderator?,
    record.commenter == user
  )
end