Sha256: 134f73c87f96fc8d5d98319a6bd6c0c0e4acad91427a2d0d89aedcd9a4c78a6e
Contents?: true
Size: 675 Bytes
Versions: 4
Compression:
Stored size: 675 Bytes
Contents
# frozen_string_literal: true module Thredded class TopicPolicy # @param user [Thredded.user_class] # @param topic [Thredded::Topic] def initialize(user, topic) @user = user @topic = topic @messageboard_user_permission = MessageboardPolicy.new(user, topic.messageboard) end def create? @messageboard_user_permission.post? end def read? @messageboard_user_permission.read? end def update? @user.thredded_admin? || @topic.user_id == @user.id || moderate? end def destroy? @user.thredded_admin? end def moderate? @messageboard_user_permission.moderate? end end end
Version data entries
4 entries across 4 versions & 1 rubygems