Sha256: afc3f619aa3a77b020a0b58bfb8cf338c1c5d96257f3000280b86c085f0c9374
Contents?: true
Size: 649 Bytes
Versions: 1
Compression:
Stored size: 649 Bytes
Contents
module AuthAssistant class Ability include CanCan::Ability # set up each RolePermit instance to share this same Ability # so that the can and cannot operations work on the same permission collection! def self.role_permits ability @role_permits = AuthAssistant::Roles.available.inject([]) do |permits, role| permits << "RolePermit::#{role.to_s.camelize}".constantize.new(ability) end end def initialize(user, request=nil) # put ability logic here! user ||= Guest.new Ability.role_permits(self).each{|role_permit| role_permit.permit?(user, request) } end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
cancan-permits-0.1.0 | spec/cancan-permits/fixtures/ability.rb |