Sha256: 0ee937f624c13ae4742b259d1a49fb1063ab9ea1bbb23e054e1743a247c065fc

Contents?: true

Size: 428 Bytes

Versions: 10

Compression:

Stored size: 428 Bytes

Contents

module Storytime
  class CommentPolicy
    attr_reader :user, :comment

    def initialize(user, comment)
      @user = user
      @comment = comment
    end

    def is_owner?
      @comment.user == @user
    end

    def create?
      is_owner?
    end

    def destroy?
      is_owner? || (@user && (@user.storytime_admin? || @user.storytime_editor?))
    end

    def permitted_attributes
      [:content]
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
storytime-1.2.0 app/policies/storytime/comment_policy.rb
storytime-1.1.1 app/policies/storytime/comment_policy.rb
storytime-1.0.7 app/policies/storytime/comment_policy.rb
storytime-1.0.6 app/policies/storytime/comment_policy.rb
storytime-1.0.5 app/policies/storytime/comment_policy.rb
storytime-1.0.2 app/policies/storytime/comment_policy.rb
storytime-1.0.1 app/policies/storytime/comment_policy.rb
storytime-1.0.0 app/policies/storytime/comment_policy.rb
storytime-0.0.4 app/policies/storytime/comment_policy.rb
storytime-0.0.2 app/policies/storytime/comment_policy.rb