Sha256: 17d0cd8bb19788ddc60ffe80ed853ff4d3d6e8e20c55ca826f44dadb3d1dbda6
Contents?: true
Size: 821 Bytes
Versions: 11
Compression:
Stored size: 821 Bytes
Contents
module Homeland::Press class Ability include CanCan::Ability attr_reader :user def initialize(u) @user = u if @user.blank? roles_for_anonymous elsif @user.roles?(:admin) can :manage, Post elsif @user.roles?(:member) roles_for_members else roles_for_anonymous end end protected # 普通会员权限 def roles_for_members can :create, Post can :update, Post, user_id: user.id, status: Post.statuses[:upcoming] can :destroy, Post, user_id: user.id, status: Post.statuses[:upcoming] basic_read_only end # 未登录用户权限 def roles_for_anonymous cannot :manage, Post basic_read_only end def basic_read_only can [:read, :upcoming], Post end end end
Version data entries
11 entries across 11 versions & 1 rubygems