Sha256: b47ed1e2d245ec91a3e710e73fd035c8048d0ddd829af2c54489cc8694495060
Contents?: true
Size: 698 Bytes
Versions: 20
Compression:
Stored size: 698 Bytes
Contents
class MessagePolicy < ApplicationPolicy def index? true if user.try(:has_role?, 'User') end def show? case user.try(:role).try(:name) when 'Administrator' true when 'Librarian' true if record.try(:receiver) == user when 'User' true if record.try(:receiver) == user end end def create? true if user.try(:has_role?, 'Librarian') end def update? case user.try(:role).try(:name) when 'Administrator' true if record.try(:receiver) == user when 'Librarian' true if record.try(:receiver) == user end end def destroy? show? end def destroy_selected? true if user.try(:has_role?, 'User') end end
Version data entries
20 entries across 20 versions & 1 rubygems