Sha256: 22ce42c5ab5a5934709e77a90ee6f511e2a2deaf7c9d5e91de0ef1c1a35f4257
Contents?: true
Size: 814 Bytes
Versions: 1
Compression:
Stored size: 814 Bytes
Contents
module CanTango class UserAcEngine < Engine autoload_modules :Executor def initialize ability super end def execute! return if !valid? debug "User AC Engine executing..." permissions.each do |permission| ability.can permission.action.to_sym, permission.thing_type.constantize do |thing| thing.nil? || permission.thing_id.nil? || permission.thing_id == thing.id end end end def valid? return false if !valid_mode? permissions.empty? ? invalid : true end def engine_name :user_ac end protected def permissions candidate.respond_to?(:permissions) ? candidate.permissions : [] end def invalid debug "No permissions for #{candidate} found!" false end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
cantango-0.9.3.2 | lib/cantango/user_ac_engine.rb |