class RbacCore::ComputedPermissions
Public Class Methods
new(permissions = [])
click to toggle source
# File lib/rbac_core/computed_permissions.rb, line 7 def initialize(permissions = []) @permissions = [].concat permissions.to_a regroup! end
Public Instance Methods
call(context, *args)
click to toggle source
# File lib/rbac_core/computed_permissions.rb, line 19 def call(context, *args) @permissions.each do |permission| permission.call(context, *args) end self end
concat(permissions)
click to toggle source
# File lib/rbac_core/computed_permissions.rb, line 12 def concat(permissions) @permissions.concat permissions regroup! self end
Private Instance Methods
regroup!()
click to toggle source
# File lib/rbac_core/computed_permissions.rb, line 29 def regroup! @permissions.uniq! @permissions.sort_by!(&:priority) end