Sha256: d64b3c8e93f3ac03bc8d691a5325887cc05647926a9bde09b41c6c60eea24805
Contents?: true
Size: 1.11 KB
Versions: 1
Compression:
Stored size: 1.11 KB
Contents
class Ability include CanCan::Ability def initialize(user) user ||= User.new can :read, Goldencobra::Article can :manage, :all user.roles.each do |role| role.permissions.each do |permission| if permission.subject_class == ":all" if permission.action.include?("not_") cannot permission.action.gsub("not_", "").to_sym, :all else can permission.action.to_sym, :all end elsif permission.subject_id.blank? if permission.action.include?("not_") cannot permission.action.gsub("not_", "").to_sym, permission.subject_class.constantize else can permission.action.to_sym, permission.subject_class.constantize end else if permission.action.include?("not_") cannot permission.action.gsub("not_", "").to_sym, permission.subject_class.constantize, :id => eval(permission.subject_id) else can permission.action.to_sym, permission.subject_class.constantize, :id => eval(permission.subject_id) end end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
goldencobra-1.0.9.3 | app/models/ability.rb |