class Tilia::CalDav::Principal::ProxyRead
ProxyRead
principal
This class represents a principal group, hosted under the main principal. This is needed to implement 'Calendar delegation' support. This class is instantiated by User
.
Public Class Methods
Creates the object.
Note that you MUST supply the parent principal information.
@param DAVACLPrincipalBackendBackendInterface principal_backend @param array principal_info
# File lib/tilia/cal_dav/principal/proxy_read.rb, line 30 def initialize(principal_backend, principal_info) @principal_info = principal_info @principal_backend = principal_backend end
Public Instance Methods
Returns a list of alternative urls for a principal
This can for example be an email address, or ldap url.
@return array
# File lib/tilia/cal_dav/principal/proxy_read.rb, line 71 def alternate_uri_set [] end
Deletes the current node
@throws DAVExceptionForbidden @return void
# File lib/tilia/cal_dav/principal/proxy_read.rb, line 53 def delete fail Dav::Exception::Forbidden, 'Permission denied to delete node' end
Returns the displayname
This should be a human readable name for the principal. If none is available, return the nodename.
@return string
# File lib/tilia/cal_dav/principal/proxy_read.rb, line 121 def display_name name end
Returns the list of group members
If this principal is a group, this function should return all member principal uri's for the group.
@return array
# File lib/tilia/cal_dav/principal/proxy_read.rb, line 88 def group_member_set @principal_backend.group_member_set(principal_url) end
Sets a list of group members
If this principal is a group, this method sets all the group members. The list of members is always overwritten, never appended to.
This method should throw an exception if the members could not be set.
@param array principals @return void
# File lib/tilia/cal_dav/principal/proxy_read.rb, line 111 def group_member_set=(principals) @principal_backend.update_group_member_set(principal_url, principals) end
Returns the list of groups this principal is member of
If this principal is a member of a (list of) groups, this function should return a list of principal uri's for it's members.
@return array
# File lib/tilia/cal_dav/principal/proxy_read.rb, line 98 def group_membership @principal_backend.group_membership(principal_url) end
Returns the last modification time
@return null
# File lib/tilia/cal_dav/principal/proxy_read.rb, line 45 def last_modified nil end
Returns this principals name.
@return string
# File lib/tilia/cal_dav/principal/proxy_read.rb, line 38 def name 'calendar-proxy-read' end
Renames the node
@throws DAVExceptionForbidden @param string name The new name @return void
# File lib/tilia/cal_dav/principal/proxy_read.rb, line 62 def name=(_name) fail Dav::Exception::Forbidden, 'Permission denied to rename file' end
Returns the full principal url
@return string
# File lib/tilia/cal_dav/principal/proxy_read.rb, line 78 def principal_url @principal_info['uri'] + '/' + name end