class AdobeConnect::Group
Public: Represents a Group
in a Connect environment.
Attributes
description[RW]
id[RW]
name[RW]
Public Class Methods
find_by_name(name, service = AdobeConnect::Service.new)
click to toggle source
Public: Find the given group on the Connect server.
name - Group's name on Connect server
Returns an AdobeConnect::Group
or nil.
# File lib/adobe_connect/group.rb, line 64 def self.find_by_name(name, service = AdobeConnect::Service.new) response = service.principal_list(:filter_name => name) if principal = response.at_xpath('//principal') self.load_from_xml(principal) end end
Private Class Methods
load_from_xml(g)
click to toggle source
# File lib/adobe_connect/group.rb, line 83 def self.load_from_xml(g) desc = g.at_xpath('//description') desc = desc.children unless desc.nil? desc = desc.text unless desc.nil? self.new({ :name => g.at_xpath('//name').children.text, :description => desc, :id => g.attr('principal-id') }) end
Public Instance Methods
add_member(user)
click to toggle source
Public: Add a User
as a member of this group.
user - AdobeConnect::User
instance
Returns a boolean of success.
# File lib/adobe_connect/group.rb, line 31 def add_member(user) update_membership(user, true) end
attrs()
click to toggle source
group_options - A hash with the following keys:
name - The group’s name. description - The group's description
# File lib/adobe_connect/group.rb, line 13 def attrs atrs = { :has_children => 1, :name => name, :description => description } if !self.id.nil? atrs.merge!(:principal_id => self.id) else atrs.merge!( :type => 'group' ) end atrs end
is_member?(email)
click to toggle source
Public: Find the member of this group.
email - User's email address
Returns a boolean.
# File lib/adobe_connect/group.rb, line 40 def is_member?(email) return false if self.id.nil? response = service.principal_list(:group_id => self.id, :filter_email => email, :filter_is_member => true) !response.at_xpath('//principal').nil? end
remove_member(user)
click to toggle source
Public: Remove a User
from this group.
user - AdobeConnect::User
instance
Returns a boolean of success.
# File lib/adobe_connect/group.rb, line 55 def remove_member(user) update_membership(user, false) end
Private Instance Methods
update_membership(user, status)
click to toggle source
# File lib/adobe_connect/group.rb, line 73 def update_membership(user, status) response = service.group_membership_update({ :group_id => self.id, :principal_id => user.id, :is_member => status }) response.at_xpath('//status').attr('code') == 'ok' end