module Reactor::Cm::Permissions
Public Class Methods
included(base)
click to toggle source
# File lib/reactor/cm/permissions.rb, line 4 def self.included(base) base.instance_eval do attribute :global_permissions, :name => :globalPermissions, :type => :list end end
Public Instance Methods
global_permission?(name)
click to toggle source
Returns true, if a global permission with the given name
exists, false otherwise.
# File lib/reactor/cm/permissions.rb, line 11 def global_permission?(name) self.global_permissions.include?(name.to_s) end
grant_global_permissions!(permissions)
click to toggle source
Add the given permissions
to the current set of group permissions.
# File lib/reactor/cm/permissions.rb, line 16 def grant_global_permissions!(permissions) permissions = permissions.kind_of?(Array) ? permissions : [permissions] permissions = self.global_permissions | permissions set_global_permissions!(permissions) end
revoke_global_permissions!(permissions)
click to toggle source
Take away the given permissions
from the current set of group permissions.
# File lib/reactor/cm/permissions.rb, line 24 def revoke_global_permissions!(permissions) permissions = permissions.kind_of?(Array) ? permissions : [permissions] permissions = self.global_permissions - permissions set_global_permissions(permissions) end
set_global_permissions!(permissions)
click to toggle source
Set the group permissions to the given permissions
.
# File lib/reactor/cm/permissions.rb, line 32 def set_global_permissions!(permissions) request = XmlRequest.prepare do |xml| xml.where_key_tag!(base_name, self.class.primary_key, self.name) xml.set_key_tag!(base_name, self.class.xml_attribute(:global_permissions).name, permissions) end request.execute! self.global_permissions = permissions end